替换文本内转义的$$与分组标记$1连在一起(也就是$$$1)会导致替换后文本内应该有的$不见

动作开发 · 714 次浏览
Gaffey 创建于 2023-02-12 23:59

举例:

我输入文本\1\2\3\4,现在想要替换成$1$2$3$4。

经过教程学习得知要转义$应该输入$$。

在文本编辑器里查找\\(\d+),替换为$$$1,能够得出$1$2$3$4,
但是在quicker的替换文本中只能得出1234,而不是$1$2$3$4,字符$消失了。

替换的参数如下图,同样的参数在文本编辑器内和quicker中得出了不一样的结果。

如果用一般转义符\来转义$的话则会将$$转义的$再次转义,导致$1不会被当成分组,而是转义成一般文本$1,导致我查找的\1\2\3\4全部被替换,文本就被成$1$1$1$1

CL 最后更新于 2023/2/15

回复内容
H-D-G 2023-02-13 00:44
#1

可以直接用表达式:$={cs}.Replace("\\","$")

H-D-G 回复 H-D-G 2023-02-13 00:51 :

另外:

Gaffey 回复 H-D-G 2023-02-13 05:12 :

感谢回答,但是这两个方案都无法解决我的需求(即只查找\后附加为数字而非其他字符)。

CL 2023-02-13 07:49
#2

可以先替换成一个别的特殊字符,然后再用一次文本替换实现。

再把¥替换成$

Gaffey 回复 CL 2023-02-13 17:19 :

感谢!迂回一下就可以实现了!思路打开了哈哈!

乐昂岚 2023-02-13 11:59
#3

解决

乐昂岚 最后更新于 2023-03-02 13:50
Gaffey 回复 乐昂岚 2023-02-13 17:19 :

yes yes

Gaffey 回复 乐昂岚 2023-02-14 22:20 :

完美解决我的问题了!感谢!!

乐昂岚 2023-02-13 17:21
#4
回复 Gaffey :

yes yes

解决

乐昂岚 最后更新于 2023-03-02 13:51
回复主贴