我试图根据标记定义为带引号的字符串、一组非空格字符或 |
的标准来标记输入字符串。特点。显然,在这种情况下strtok
不会工作所以我想也许使用正则表达式?或者也许有一个我还没有想到的更简单的解决方案?
有人以前遇到过这个问题,或者甚至对我如何解决这个问题有建议吗?谢谢!
最佳答案
首先,为什么strtok()
“显然”不起作用?您似乎暗示 strtok()
无法使用多个分隔符;确实如此(char * delim
是指向一组分隔符的指针)。如果您想从头开始构建它,这是一个合理的开始方式。使用正则表达式是一个进步,但仍然是“从头开始构建”。
但是,如果您不想从头开始构建它,请查看 lex
(或 flex
),它将为您从 构建 C 中的 tokenise >lex
源文件。
关于c - 在 C 中不使用 strtok() 进行标记化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21756289/