c# - 使用正则表达式替换而不是字符串替换

标签 c# asp.net regex

我对正则表达式的了解不够多,所以这可能看起来是一个愚蠢的问题。

我将 string 拆分为 string[].Split(' ')
目的是检查单词,或替换任何单词。

我现在遇到的问题是,对于要替换的单词,它必须完全匹配,但是按照我拆分它的方式,可能会出现 (或带有分割字的 [

到目前为止,为了解决这个问题,我正在使用这样的东西:
formattedText.Replace(">", "> ").Replace("<", " <").Split(' ')

目前效果很好,但我想合并更多特殊字符,例如 [;\\/:*?\"<>|&']

有没有比我的替换方法更快的方法,例如Regex?我感觉我的路线离最佳答案还很远。

编辑
This is an (example) string
将被替换为
This is an ( example ) string

最佳答案

如果您想替换整个单词,可以使用这样的正则表达式来实现。

string text = "This is an example (example) noexample";
string newText = Regex.Replace(text, @"\bexample\b", "!foo!");

newText 将包含 “This an !foo! (!foo!) noexample”

这里的关键是 \b 是分词元字符。因此它将匹配行的开头或结尾,以及单词字符 (\w) 和非单词字符 (\W) 之间的转换。它与使用\w 或\W 之间最大的区别是它们在行首或行尾不匹配。

关于c# - 使用正则表达式替换而不是字符串替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15219925/

相关文章:

c# - 如何通过使用 C# 传递凭据在服务器上创建文件夹

javascript - Javascript 中动态 RegExp 构造的问题

javascript - 用于解析单键 : values out of JSON in Javascript 的正则表达式

c# - Entity Framework 6 代码首先处理影子属性

c# - 如何从动态创建的类中获取对对象实例的引用

c# - 如何使用邮政 asp.net 使 CC 字段可选

css - AJAX 日历扩展器适用于本地和主机,但主机中的样式不会呈现,

c# - 在 XPath Binding WPF 中转义单引号

c# - NancyFx 动态词典

sql-server - 在 Microsoft SQL Server 上使用正则表达式模式最多提取三个不同长度的字符串