如何用正则表达式替换代码字符串中的英文句点为下划线?
嘿,这个需求其实用正则很容易搞定,不用绕那些复杂的提取思路~
解决方案(以C#为例,适配你提到的微软技术栈)
直接用Regex.Replace就能完成全局替换,代码示例如下:
using System.Text.RegularExpressions; string sentence = "Hello world. Good bye world"; string replacedSentence = Regex.Replace(sentence, @"\.", "_"); // 执行后replacedSentence的值就是:"Hello world_ Good bye world"
关键细节解释
- 正则表达式
@"\.":因为正则里的.是特殊元字符,能匹配任意单个字符,所以必须用反斜杠\转义,让它匹配字面意义的英文句点。加@是C#里的逐字字符串写法,避免额外的转义操作,写成"\\."也能达到同样效果,但@"\."可读性更强。 - 第二个参数
"_"就是你要替换成的目标字符,Regex.Replace默认会全局替换所有匹配到的内容,刚好符合你的需求。
补充说明
如果之后你遇到需要只替换特定场景下的句点(比如不想替换域名里的.),可以再给正则加匹配条件,但从你的示例来看,替换所有句点的话,上面的代码就完全够用了。
内容的提问来源于stack exchange,提问作者Fleve
相关产品推荐
相关产品推荐

