如何用C语言将字符串中除字母的其他符号删除

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用C语言将字符串中除字母的其他符号删除相关的知识,希望对你有一定的参考价值。

建立一个for循环,从下标为0开始逐字检测字符串元素,对应的ASCII码在'a'(97)至'z'(122)之间的是小写字母,在'A'(65)至'Z'(90)之间的是大写字母,是字母的依次存入同一个数组,问题就解决了。举例代码如下:

//#include "stdafx.h"//If the vc++6.0, with this line.
#include "stdio.h"
int main(void)
    char a[100]="jfk839hfkhd89jl9t5ugifogjshb1783fhdahpp[qhfud",i,j;
    for(j=i=0;a[i];i++)
        if(a[i]>='a' && a[i]<='z' || a[i]>='A' && a[i]<='Z')//判断是否为字母
        //if(a[i]>=97 && a[i]<=122 || a[i]>=65 && a[i]<=90)//这样写也可以
            a[j++]=a[i];
    a[j]='\\0';
    printf("%s\\n",a);//Look at...
    return 0;

参考技术A #include "stdio.h"

void check(char str[])

int i=0,j=0;
char ch;
ch=str[i];
while(ch!='\0')

if(ch>='A'&&ch<='Z'||ch>='a'&&ch<='z')

str[j]=ch;
j++;

i++;
ch=str[i];

str[j]='\0';

经本人亲自测试通过,希望can help you 。
(编译环境:Dev c++ 4.9.2)
参考技术B int i,j;
int len;
char temp;
for(i=0;i<len;i++)

if(!isalpha(s[i]))

for(j=i;j<len-1;j++)

s[j]=s[j+1];

--len;

else
continue;

len为字符串s[]的长度

以上是关于如何用C语言将字符串中除字母的其他符号删除的主要内容,如果未能解决你的问题,请参考以下文章

如何用c语言分离字符串中的字母和数字并分别输出

如何用c语言分离字符串中的字母和数字并分别输出?

如何用C语言将输入的数字转化成英语

求教如何用C语言求两个字母集合的交集?

Java中如何用其他方法实现大小写转换

C语言中啥是字符,啥是字符串啊,谢谢