在句子中查找单词的出现

时间:2015-12-25 15:21:51

标签: c string

我已经制作了你输入句子然后输入单词的程序。如果句子中的单词是在你输入的单词中,那就标记了在setnence中的作品。例如:

input sentence

My name is John.

input words
name
Why
do
apple

Final output

My [name] is John.

这很有效。我使用strtok在令牌(用#34;")上分词并将它们添加到结构中。我将输入的单词存储在一个数组中。但问题是,当用户输入时 "命名" (开头有空格)它与句子中的单词不匹配,因为我用" "这意味着结构中没有空格。

有没有办法,没有强力循环来检查我的句子中是否存在空格?实施例

Input sentence
My name is john

words
 name
is
Final output
My[ name] [is] John.

1 个答案:

答案 0 :(得分:2)

您需要从令牌中删除所有标点符号和空格。如果你有约翰'在你的输入集中,你会发现你与#34; John不匹配。"从原来的句子。

我推荐的是,当你找到一个单词时,你修剪它(.trim())然后删除任何不需要的字符(","," - " ,"。")。

您可能还想考虑该程序是否区分大小写。