gpt4 book ai didi

c - 寻找单词中的字母模式

转载 作者:行者123 更新时间:2023-11-30 15:59:16 28 4
gpt4 key购买 nike

有什么方法可以搜索“tro_ _ _e”,其中下划线代表缺失的字母?

我有一个文本文件,每行有 7 个字母的单词。例如

trouble
control
reached
further
helping
shatter
biggest

我正在尝试将每个单词与字符串进行比较

char check[10]="tro\0\0\0e"

目前我正在阅读每一行并使用以下内容进行比较:

if(strstr(pword,check)!=NULL)
{
fprintf(wfile,"%s\n",pword);
}
}

fclose(file);

fclose(wfile);

我意识到我当前在 wfile 中的输出:

control
trouble

是因为“tro”和“e”之间有三个\0,所以比较只是在单词中查找“tro”。

有什么方法可以搜索“tro_ _ _e”,其中下划线代表缺失的字母?

这是一个刽子手游戏,因此文件中的单词并不总是相同,并不总是 7 个字母长,并且模式并不总是“tro_ _ _e”,因为该模式代表玩家已经猜到的字母。本例的答案:“麻烦”

例如,如果玩家猜出了“r”、“u”和“l”。我会有一个字面上的字符串。

char check[10]="\0r\0u\0l\0\0\0\0\0" 因此我想要的搜索将是针对具有模式“_r_u_l”的任何单词”

最佳答案

如果您真正愿意接受 C# 解决方案,正如您的标签所建议的那样:

string pword = "control\r\ntrouble\r\nreached\r\nfurther\r\nhelping\r\nshatter\r\nbiggest";
System.Text.RegularExpressions.Regex re = new System.Text.RegularExpressions.Regex("tro...e");
System.Text.RegularExpressions.MatchCollection mc = re.Matches(pword);
foreach (System.Text.RegularExpressions.Match m in mc)
{
Console.WriteLine(m.Value);
}

关于c - 寻找单词中的字母模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9095414/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com