我有一个字符串(你好,这是一个字符串),我想在其中搜索一个关键字。我该怎么做?
我必须在字符串中搜索以下关键字:
字符串:您好,这是一个字符串。
关键词: 1. Hello this(应匹配) 2. Hello(应匹配) 3. Hello t(应不匹配) 4. Hello this i(应不匹配)
请建议构造数据结构来存储和搜索的优化方法?
我有一个字符串(你好,这是一个字符串),我想在其中搜索一个关键字。我该怎么做?
我必须在字符串中搜索以下关键字:
字符串:您好,这是一个字符串。
关键词: 1. Hello this(应匹配) 2. Hello(应匹配) 3. Hello t(应不匹配) 4. Hello this i(应不匹配)
请建议构造数据结构来存储和搜索的优化方法?
如果您的标准是完整的单词不应该只匹配它的一半,则在字符不匹配/字符串结束时使用 break 并检查主字符串的索引 + 1 是否为空格或逗号或完整停止或根据您的需要进行任何操作。如果是,那么您的字符串是完全匹配的,否则它将是一个字符。
后缀树可以是一个选项。请阅读https://en.wikipedia.org/wiki/Suffix_tree
如果您在字符串中搜索完整的单词。在关键字后添加空格并按照以下步骤操作。
char * string = "Hello this is a string";
char * keyword = "Hello t ";
if(strstr(string,keyword) != NULL)
printf("Matched");
else
printf("Not Matched");