【发布时间】:2017-12-28 19:58:28
【问题描述】:
我正在尝试将所有单词与文本分开,我也需要将标点符号分开。
分离它们并将其保存在字符串数组中的最佳方法是什么?
这是一个例子:
-
输入:
- “嗨,我叫 Sara!”
-
预期输出
- “嗨”
- ","
- “我的”
- “姓名”
- “是”
- “萨拉”
- “!”
-
实际输出
- “嗨,”
- “我的”
- “姓名”
- “是”
- “萨拉!”
我的代码:
palavra_linha[i] = strtok (linhas[i], " \n\r");
while (palavra_linha[i] != NULL) {
palavras_finais[j] = palavra_linha[i];
j++;
palavra_linha[i] = strtok (NULL, " \n\r");
}
我知道我必须使用类似的东西,但它不起作用,假设条件为假:
if (strlen(palavra_linha[i])-1) == '.') {
palavras_finais[j] = palavra_linha[i];
}
【问题讨论】:
-
但是我需要在数组上保存标点符号。 @DeiDei
-
我建议不要使用
strtok。只需检查每个角色并对每个角色采取适当的行动。 -
请不要破坏您的问题。