【发布时间】:2020-08-03 18:12:11
【问题描述】:
如何在字符串中搜索完全匹配?例如,如果我有一个包含此文本的字符串:
string ClientName = "Sunny Mrs Cool";
string[] stringArray = { "Mr", "Ms", "Dr", "Mrs" };
foreach (string x in stringArray)
{
if (ClientName.Contains(x))
{}
}
我想搜索“Mrs”,我只想得到完全匹配,而不是另一个。我尝试了 Contains 和 IndexOf 方法,但它们也给了我“先生”。 有些字符串有 Ms 或 Dr 或 Mr.
【问题讨论】:
-
您好,欢迎来到 SO!您可以拆分您的单词然后比较...您是否在 SO 上搜索过类似的问题和答案?肯定有不止一种方法可以做到这一点。
-
我不是正则表达式向导,但是当字符串包含列表中的一个单词并且您可以通过捕获组找到它时,
\b(?i)(mr|ms|dr|mrs)\b之类的东西应该会给您一个匹配项。您还可以通过var regex = $"\b(?i)({string.Join('|',searchTerms)})\b";动态构建正则表达式
标签: c#