“替换文本”模块似乎是依次按照规则进行替换的,而非同时应用规则。换句话说,假设我要替换一段文本中的a变为A,A变为a,则写“A|a \n a|A”是不行的,因为A会先根据第1行换为a,再根据第2行换回A;而a会根据第2行换为A。这样完全不对。请问应该如何书写这类规则呀(并非大小写转换这么简单,而是一般的双向替换)?
A替换为别的用不到的字符,例如AAAAA
a替换为A
AAAAA替换为a
替换总是一个一个进行的,
你说的这个情况需要分为3步,类似于编程里替换两个变量x/y的值,顺序为:z=x,x=y,y=z。
先将A替换为一个特殊字符,假设为z,
然后将a替换成A
再将z替换成a。
谢谢CL,然而无法预见待替换文本里有什么其他字符,因而这一方法似乎具有很大局限性。还有什么不先替换为“替身”的方法吗?
A替换为别的用不到的字符,例如AAAAA
a替换为A
AAAAA替换为a