c# - 子字符串替换的问题

标签 c# java regex string replace

所以,假设我有一个特殊字符数组,例如 ".[]{}()\/*+?|^$"

我想要做的是获取输入 字符串,例如“.com”,并替换所有出现的特殊字符具有相同的字符,但前面附加了 "\"

例如,该输入的结果将是 "\.com"

我的方法是迭代特殊字符数组,并在输入字符串中搜索当前特殊字符的出现,然后进行替换。

问题是 "." 会被找到并替换为 "\.",但是 "\" 是一个特殊字符本身,因此稍后会找到它并替换为 "\\.".

如何避免这种情况并仍然保留 "\" 作为特殊字符? (我希望将 "\" 替换为 "\\",但不是在这些情况下)。

我希望我说得足够清楚。

感谢大家的阅读!

最佳答案

看看这些特殊字符 ".[]{}()\/*+?|^$" 因为它们是正则表达式字符,我相信您正在寻找 Regex.Escape方法。

关于c# - 子字符串替换的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23501936/

相关文章:

java - onOptionsItemSelected() 方法未在 Fragment 上调用

java - 正则表达式查找不带尾随%符号的金额

c# - 如何创建人物编辑器?

c# - 如何返回 Dictionary<int, object>?

c# - Exchange Server 登录凭据设置

java - 读取服务器发送的数据时出现空字符串

java - Java中 "wait()"与 "sleep()"之间的区别

c# - IE 用户代理正则表达式(包括 IE11 和紧凑 View )

Python 从每个单词的第一个字符创建首字母缩略词并包括数字

c# - 在 Controller 外使用 HttpContext