如何检查正则表达式是不是未能在 docx 文件中找到搜索字符串
Posted
技术标签:
【中文标题】如何检查正则表达式是不是未能在 docx 文件中找到搜索字符串【英文标题】:How to check if a regular expression failed to find a search string in docx file如何检查正则表达式是否未能在 docx 文件中找到搜索字符串 【发布时间】:2018-03-08 06:40:16 【问题描述】:我正在使用
using (WordprocessingDocument wordDoc = WordprocessingDocument.Open(document, true))
using (StreamReader sr = new StreamReader(wordDoc.MainDocumentPart.GetStream(), System.Text.Encoding.UTF8))
docText = sr.ReadToEnd();
Regex regexText = new Regex(search, RegexOptions.IgnoreCase);
docText = regexText.Replace(docText, replace);
如何检查 Regex regexText
是否找到搜索字符串 search
?
【问题讨论】:
var newDocText = regexText.Replace(docText, replace); if (newDocText != docText) ...
这是做什么的?这不只是用新的 var 复制 docText = regexText.Replace(docText, replace);
并比较两者吗?这个我不太明白。
Replace
可能会更改文本。因此,测试将输入文本与可能更改的文本进行比较。
哦,好的。我知道了。谢谢!
【参考方案1】:
解决方案是运行另一个 regex.Replace,但这次使用第一个返回的字符串,如下所示:
Regex regexText = new Regex(search, RegexOptions.IgnoreCase);
docText = regexText.Replace(docText, replace);
var newDocText = regexText.Replace(docText, replace);
if (newDocText != docText)
////They don't match it succeeded. Do something....
【讨论】:
以上是关于如何检查正则表达式是不是未能在 docx 文件中找到搜索字符串的主要内容,如果未能解决你的问题,请参考以下文章