使用正则表达式c#替换文档中的文本字段

Posted

技术标签:

【中文标题】使用正则表达式c#替换文档中的文本字段【英文标题】:Replacing a text field in a document using regular expression c# 【发布时间】:2019-03-30 13:11:04 【问题描述】:

我有一个简单的 c# 代码,可以在 word 文档中替换名字、中间名、姓氏等字段读取文档文件并使用正则表达式替换字段

例如: 我 [FirstName] [LastName],来自 [city] 的 [Fathers Name] 和 [Mothers Name] 的儿子。地址 [First Name],[Address Line 1]

现在将有八个这样的模板,如果没有给出中间名,则需要替换详细信息 FirstName(ex: John) 代替 [First Name] LastName(ex: Doe) 代替 [LastName]然后删除 [MiddleName] 并创建新的 doc 文件。这些字段可能会重复 n 次,如果我使用查找和替换,有人可以给我一个示例,说明如何执行此操作,或者是否需要正则表达式(每个模板中至少有 20 个这样的字段)代码我说的对吗?

提前致谢

【问题讨论】:

如果您为查找和替换创建方法。只需调用您不会重复代码的方法。 我有一个简单的 c# 代码......使用它。 我们没有机会回答,您没有显示任何您尝试过的代码。显示代码、输入示例和预期输出。 @Cid 正如我在帖子中提到的,系统没有安装 MS Office 【参考方案1】:

您可能想看看Open XML SDK。 可以直接访问docx的底层XML,不需要安装Office。

This 示例也可能对您有所帮助。

【讨论】:

这很有帮助。谢谢。

以上是关于使用正则表达式c#替换文档中的文本字段的主要内容,如果未能解决你的问题,请参考以下文章

如何使用正则表达式匹配从 xml 文件中搜索和替换包含占位符标记的文本。 VB.net 或 C#

正则表达式

正则表达式

正则表达是式

C# - 正则表达式匹配模式、替换和捕获行号 [来自 Txt 文件]

iOS之正则表达式