我正在开发一个 ASP.NET 应用程序,在执行 SQL 全文搜索查询后,我必须在其中显示文本文档的描述。我必须在该文档的描述中突出显示用户输入的搜索字符串。现在的问题是:
如果用户输入 rang 作为输入搜索字符串,那么我必须检查该字符串是另一个词的一部分还是作为一个单独的词出现。例如:
1 - rang 可能单独出现,也可能是某个单词的一部分,即 W*rang*ling。
2 - weep 可能单独出现,也可能是 *weep*ing 的一部分。
如何验证字符串的这种条件?是否可以通过 Regex.Match()
实现?
任何帮助都感激不尽。
注意:一个单词可能会在一个段落中以多种方式出现多次。
最佳答案
你可以在正则表达式中做到这一点
string word=Regex.Escape("rang");//your word..used regex.escape to escape regex characters if any
Regex rx = new Regex("\b(.*?)"+word+"(.*?)\b", RegexOptions.IgnoreCase);
foreach (Match m in rx.Matches(yourInputText))
{
if(m.Groups[1]!="" || m.Groups[2]!="")
{
//the word is between some words
}
else
{
//the word occurs separately
}
}
关于c# - 验证另一个字符串之间的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13024233/