我如何使用strtok的每一个nonalpha字符作为分隔符? (C) [英] How do I use strtok with every single nonalpha character as a delimeter? (C)
本文介绍了我如何使用strtok的每一个nonalpha字符作为分隔符? (C)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
所以我有一个字符串:
**BOB**123(*&**blah**02938*(*&91820**FOO**
我希望能够使用 strtok的
来deliminate每个单词。分隔符是每一个字符不是一个字母。
I want to be able to use strtok
to deliminate each word. The delimiter is every single character that is not a letter.
我建议我们因而isalpha
,但不知道我怎么会去这一点。有没有办法做到这一点不点名的每一个非字母字符?
I was suggested to us isalpha
, but not sure how I would go about this. Is there a way to do this without naming every single non-alpha character?
不幸的是不允许使用正则表达式库。
Unfortunately NOT allowed to use regex libraries.
推荐答案
一种方法,可以使这更容易,是先覆盖所有非字母字符用空格:
One approach that can make this easier is to first overwrite all non-alpha characters with spaces:
for (char *p = str; *p; p++)
if (!isalpha(*p)) *p = ' ';
现在你可以使用的strtok(STR,)
这篇关于我如何使用strtok的每一个nonalpha字符作为分隔符? (C)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文