C语言实现从一个字符串中解析到第一个只包含字母或数字的子串。
时间: 2024-03-05 22:50:05 浏览: 50
C语言程序设计-输入一个字符串,过滤此串,只保留串中的字母字符,并统计新生成串中包含的字母个数;
5星 · 资源好评率100%
可以通过遍历字符串的每个字符,判断是否为字母或数字来实现解析。具体实现如下:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str[] = "Hello,123 world!";
int len = strlen(str);
int i, j;
// 遍历字符串,找到第一个只包含字母或数字的子串
for (i = 0; i < len; i++) {
if (isalnum(str[i])) { // 如果当前字符为字母或数字
for (j = i + 1; j < len; j++) {
if (!isalnum(str[j])) { // 如果下一个字符不为字母或数字
printf("First alphanumeric substring is: %.*s\n", j-i, str+i);
return 0; // 直接退出程序
}
}
// 如果字符串中所有字符都为字母或数字,则输出整个字符串
printf("First alphanumeric substring is: %s\n", str);
return 0;
}
}
// 如果字符串中没有字母或数字,则输出空字符串
printf("No alphanumeric substring found.\n");
return 0;
}
```
运行结果为:
```
First alphanumeric substring is: Hello
```
阅读全文