文字搜索仅区分大小写

时间:2019-02-26 10:48:44

标签: c#

我正在搜索文档中的单词,代码工作正常,但仅在搜索区分大小写的文本时有效。我的代码中的一个示例=“ Test”,将找不到“ test”。

我需要使用DocumentFormat.OpenXml.Packaging搜索文档中所有出现的“测试”和“测试”。如何更改代码,以便在文本中查找所有大小写的内容?

using DocumentFormat.OpenXml.Packaging;
using DocumentFormat.OpenXml.Wordprocessing; 

using (MemoryStream memStr = new MemoryStream())
      {
       memStr.Write(byteArray, 0, (int)byteArray.Length);
        using (WordprocessingDocument wordDoc = WordprocessingDocument.Open(memStr, true))
         {
          Document document = wordDoc.MainDocumentPart.Document;
           var body = document.MainDocumentPart.Document.Body;
             foreach (var text in body.Descendants<Text>())
               {
                 if (text.Text.Contains("Test"))
                   {
                      //Some code
                   }
               }
          }
      }

2 个答案:

答案 0 :(得分:0)

我使用这种扩展方法:

public static bool Contains(this string paragraph, string word, CompareOptions opts)
{
    if (string.IsNullOrEmpty(paragraph))
    {
        return false;
    }
    return CultureInfo.CurrentUICulture.CompareInfo.IndexOf(paragraph, word,opts) >= 0;
}

那么你就可以做

if (text.Text.Contains("Test", CompareOptions.IgnoreCase))

答案 1 :(得分:0)

工作代码,感谢this question

if (text.Text.IndexOf("Test", 0, StringComparison.CurrentCultureIgnoreCase) != -1)