所以,假设我有一个特殊字符数组,例如 ".[]{}()\/*+?|^$"
我想要做的是获取输入 字符串
,例如“.com”
,并替换所有出现的特殊字符具有相同的字符,但前面附加了 "\"
。
例如,该输入的结果将是 "\.com"
我的方法是迭代特殊字符数组,并在输入字符串中搜索当前特殊字符的出现,然后进行替换。
问题是 "."
会被找到并替换为 "\."
,但是 "\"
是一个特殊字符本身,因此稍后会找到它并替换为 "\\."
.
如何避免这种情况并仍然保留 "\"
作为特殊字符?
(我希望将 "\"
替换为 "\\"
,但不是在这些情况下)。
我希望我说得足够清楚。
感谢大家的阅读!
最佳答案
看看这些特殊字符 ".[]{}()\/*+?|^$"
因为它们是正则表达式字符,我相信您正在寻找 Regex.Escape方法。
关于c# - 子字符串替换的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23501936/