我正在搜索文档中的单词,代码工作正常,但仅在搜索区分大小写的文本时有效。我的代码中的一个示例=“ 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
}
}
}
}
答案 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)