跳到字符串数组中的下一个非空白字符

时间:2011-11-10 14:12:39

标签: objective-c c regex parsing

我有问题......

试图解析一个由空格分隔的文件我有一个问题...我已经决定最好的方法是将我所拥有的字符串标记,到目前为止我把所有的行都放到了一个数组中(通过换行符定义数组中的所有新命令)所以我的数组可能包含5个entrys :(数组中的每个条目定义文件中的行)

1)mary  julia      anne                 steve
2)alex james              david        katie
3)omegle          yikes  craxy  horse
4)foo  bar       foobar    matt maximus
5)capital or     not       smack

如您所见,文件中的每个条目可能包含不同数量的未定义空格...可以是一个或多个制表符空格,也可以是许多常规空格字符。

我考虑过使用char循环字符串char,直到检测到非空格,但这看起来很难看......

任何帮助?

谢谢:)

3 个答案:

答案 0 :(得分:0)

str += strspn(str, " \t\r\n" );

答案 1 :(得分:0)

使用isspace()

来自人员空间

isspace()所能 检查空白字符。在“C”和“POSIX”语言环境中,它们是:空格,换页符('\ f'),换行符('\ n'),回车符('\ r'),水平制表符('\ t'' )和垂直标签('\ v')。

答案 2 :(得分:0)

sscanf为您完成所有事情:

char *s="\nmary  julia      anne     \t            steve", o[100];
int n=0;
while( sscanf(s+=n,"%99s%n",o,&n)==1 )
  puts(o);