C# 使用regex根据单词docx的第一行删除文本
嗨,我正在尝试格式化一个word文档,根据第一行中出现的单词,保留某个段落。例如: 我们参考上述(PST\Non-PST)以获取您的通知 第1款 第2款 第3款 如果单词PST在第一行=>保留第1段,删除第2段和第3段 如果是非PST,保留第2段,删除第1和第3段 这就是我所能做到的C# 使用regex根据单词docx的第一行删除文本,c#,visual-studio-2015,C#,Visual Studio 2015,嗨,我正在尝试格式化一个word文档,根据第一行中出现的单词,保留某个段落。例如: 我们参考上述(PST\Non-PST)以获取您的通知 第1款 第2款 第3款 如果单词PST在第一行=>保留第1段,删除第2段和第3段 如果是非PST,保留第2段,删除第1和第3段 这就是我所能做到的 using System.IO; using System.Text.RegularExpressions; using DocumentFormat.OpenXml.Packaging; namespace D
using System.IO;
using System.Text.RegularExpressions;
using DocumentFormat.OpenXml.Packaging;
namespace DataToPDF
{
public class Replace_Text
{
public static void SearchAndReplace()
{
string document = @"C:\Users\kishlay02\Desktop\sample.docx";
using (WordprocessingDocument wordDoc = WordprocessingDocument.Open(document, true))
{
string docText = null;
using (StreamReader sr = new StreamReader(wordDoc.MainDocumentPart.GetStream()))
{
docText = sr.ReadToEnd();
}
if{
Regex regexText = new Regex("conclude");
docText = regexText.Matches("PST")
}
//Regex regexText1 = new Regex("conclude");
//docText = regexText1.Replace(docText, "", 2);
//Regex regexText2 = new Regex("conclude");
//docText = regexText2.Replace(docText, "closer", 3);
using (StreamWriter sw = new StreamWriter(wordDoc.MainDocumentPart.GetStream(FileMode.Create)))
{
sw.Write(docText);
}
}
}
}
}
嗨,你的问题是什么?我需要关于编码这个任务的帮助。到目前为止,我只能进行搜索和替换功能。请向我们展示您的尝试。这是一个很好的开始获得严肃答案的方法:-)添加了代码,只是为了澄清注释部分来自上一次搜索和替换我认为您的代码的第一个问题是您需要隔离第一行。顺便说一句,
string
类型还包含一个contains
函数。在这种情况下(例如:if(docText.Contains(“PST”))
)可能更容易使用。接下来,您需要隔离段落。这样您就可以删除这些段落。我对这个WordprocessingDocument
库没有足够的知识来进一步帮助您。