双向替换支持?

使用问题 · 504 次浏览
Handger Huang 创建于 2023-09-19 16:19

“替换文本”模块似乎是依次按照规则进行替换的,而非同时应用规则。换句话说,假设我要替换一段文本中的a变为A,A变为a,则写“A|a \n a|A”是不行的,因为A会先根据第1行换为a,再根据第2行换回A;而a会根据第2行换为A。这样完全不对。请问应该如何书写这类规则呀(并非大小写转换这么简单,而是一般的双向替换)?


Helio 2023-11-03 14:10 :

A替换为别的用不到的字符,例如AAAAA

a替换为A

AAAAA替换为a

回复内容
CL 2023-09-19 16:24
#1

替换总是一个一个进行的,

你说的这个情况需要分为3步,类似于编程里替换两个变量x/y的值,顺序为:z=x,x=y,y=z。

先将A替换为一个特殊字符,假设为z,

然后将a替换成A

再将z替换成a。

Handger Huang 2023-09-20 15:01
#2

谢谢CL,然而无法预见待替换文本里有什么其他字符,因而这一方法似乎具有很大局限性。还有什么不先替换为“替身”的方法吗?

回复主贴