我已经制作了你输入句子然后输入单词的程序。如果句子中的单词是在你输入的单词中,那就标记了在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.
答案 0 :(得分:2)
您需要从令牌中删除所有标点符号和空格。如果你有约翰'在你的输入集中,你会发现你与#34; John不匹配。"从原来的句子。
我推荐的是,当你找到一个单词时,你修剪它(.trim())然后删除任何不需要的字符(","," - " ,"。")。
您可能还想考虑该程序是否区分大小写。