正则表达式用特定格式 C# 替换整个单词

Posted

技术标签:

【中文标题】正则表达式用特定格式 C# 替换整个单词【英文标题】:regex to replace whole word with specific format C# 【发布时间】:2021-08-05 03:10:35 【问题描述】:

我无法从字符串中查找要替换为以前已知格式的字符串。像这样:

输入:"#ITEMJIB_thisIsNumber, and test but"

输出:"<div class='module_thisIsNumber'></div>, and test but".

感谢您的帮助

【问题讨论】:

“我遇到了麻烦” -- 具体是什么?你尝试了什么?那做了什么?这和你想要的有什么不同?您具体在哪些方面需要帮助?尽管有一些人的做法,Stack Overflow 并不是一个代码编写服务。 【参考方案1】:

您可以匹配 #ITEMJIB_(\\d+\) 并替换为 <div class='module_$1'></div> - 该号码将被捕获到组 1 并在替换时使用。

如果花括号不是字符串的一部分 (#ITEMJIB_1),请从模式中删除 \\

工作示例:https://regex101.com/r/MxKZn5/1

C# 示例:

var input = "item #ITEMJIB_1, and test but #ITEMJIB_2";
var output = Regex.Replace(input, @"#ITEMJIB_(\\d+\)", "<div class='module_$1'></div>");

【讨论】:

以上是关于正则表达式用特定格式 C# 替换整个单词的主要内容,如果未能解决你的问题,请参考以下文章

用正则表达批量快速解决如“过滤注释的//”“查询特定单词”“匹配特定子字符串”等工作中难题

Python正则表达式仅根据正则表达式替换段落中的特定行而不是整个文件

正则表达式。匹配整个单词

正则表达式仅用替换文件中的单词替换单词

替换字符串中的特定单词(Python)

正则表达式删除第一个单词并使用 c# 将第二个单词的第一个字符大写