我如何使用strtok的每一个nonalpha字符作为分隔符? (C) [英] How do I use strtok with every single nonalpha character as a delimeter? (C)

查看:154
本文介绍了我如何使用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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆