0

我有一个字符串(你好,这是一个字符串),我想在其中搜索一个关键字。我该怎么做?

我必须在字符串中搜索以下关键字:

字符串:您好,这是一个字符串。

关键词: 1. Hello this(应匹配) 2. Hello(应匹配) 3. Hello t(应不匹配) 4. Hello this i(应不匹配)

请建议构造数据结构来存储和搜索的优化方法?

4

3 回答 3

1

如果您的标准是完整的单词不应该只匹配它的一半,则在字符不匹配/字符串结束时使用 break 并检查主字符串的索引 + 1 是否为空格或逗号或完整停止或根据您的需要进行任何操作。如果是,那么您的字符串是完全匹配的,否则它将是一个字符。

于 2016-11-30T05:34:55.043 回答
0

后缀树可以是一个选项。请阅读https://en.wikipedia.org/wiki/Suffix_tree

于 2016-11-30T13:36:52.673 回答
0

如果您在字符串中搜索完整的单词。在关键字后添加空格并按照以下步骤操作。

char * string = "Hello this is a string";
char * keyword = "Hello t ";

if(strstr(string,keyword) != NULL)
    printf("Matched");
else
    printf("Not Matched");
于 2016-11-30T05:48:17.170 回答