gpt4 book ai didi

c# - 如何检查字符串是否包含带通配符的子字符串?像 abc*xyz

转载 作者:太空狗 更新时间:2023-10-29 21:44:05 26 4
gpt4 key购买 nike

当我解析文本文件中的行时,我想检查一行是否包含abc*xyz,其中* 是一个通配符。 abc*xyz 是一种用户输入格式。

最佳答案

您可以生成Regex 并使用它进行匹配

 searchPattern = "abc*xyz";

inputText = "SomeTextAndabc*xyz";

 public bool Contains(string searchPattern,string inputText)
{
string regexText = WildcardToRegex(searchPattern);
Regex regex = new Regex(regexText , RegexOptions.IgnoreCase);

if (regex.IsMatch(inputText ))
{
return true;
}
return false;
}

public static string WildcardToRegex(string pattern)
{
return "^" + Regex.Escape(pattern)
.Replace(@"\*", ".*")
.Replace(@"\?", ".")
+ "$";
}

Here是来源和 Here是类似的问题

关于c# - 如何检查字符串是否包含带通配符的子字符串?像 abc*xyz,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31490782/

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