所以,假设我有一系列特殊字符,例如".[]{}()\/*+?|^$"
我想要做的是采用输入 string
,例如".com"
,并用相同的字符替换所有出现的特殊字符,但使用{{ 1}}预先填写。
例如,该输入的结果为"\"
我的方法是迭代特殊字符数组,并在输入字符串中搜索当前特殊字符的出现,并进行替换。
问题是找到"\.com"
并替换为"."
,但"\."
本身就是一个特殊字符,因此稍后会找到并替换为{{ 1}}。
如何避免这种情况并仍将"\"
保留为特殊字符?
(我希望"\\."
替换为"\"
,但不会在这些情况下替换。)
我希望自己足够清楚。
谢谢大家的阅读!
答案 0 :(得分:2)
查看这些特殊字符".[]{}()\/*+?|^$"
,因为它们是正则表达式字符,我相信您正在寻找Regex.Escape方法。
答案 1 :(得分:1)
如果我理解你的问题,简单的解决方案似乎只是'\'是你的特殊字符数组中的第一个元素 - 然后,你用'\','替换字符串中的'\'字符。 “用'。'等,但你不会重新替换生成的'。'。