如何从字符串中删除空格和特殊字符?
谷歌搜索时我找不到一个答案.有很多与其他语言有关,但不是C.大多数人都提到使用正则表达式,这不是C标准(?).
删除简单空间很容易:
char str[50] = "Remove The Spaces!!";
Run Code Online (Sandbox Code Playgroud)
然后是一个带有if语句的简单循环:
if (str[i] != ' ');
Run Code Online (Sandbox Code Playgroud)
输出将是:
RemoveTheSpaces!!
Run Code Online (Sandbox Code Playgroud)
我将什么添加到if语句中以便识别特殊字符并将其删除?
我对特殊字符的定义:
Characters not included in this list:
A-Z a-z 0-9
Run Code Online (Sandbox Code Playgroud)
小智 7
这可能不是实现这一目标的最有效方法,但它可以相当快地完成工作.
注意:此代码确实要求您包含<string.h>和<ctype.h>
char str[50] = "Remove The Spaces!!";
char strStripped[50];
int i = 0, c = 0; /*I'm assuming you're not using C99+*/
for(; i < strlen(str); i++)
{
if (isalnum(str[i]))
{
strStripped[c] = str[i];
c++;
}
}
strStripped[c] = '\0';
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
28546 次 |
| 最近记录: |