我的短信是这样的:
Text1 | Text2 | Text3 | Text4 | Text5 | Text6 | Text7 我想像这样改变文字的位置
Text1 | Text4 | Text5 | Text6 | Text2| Text3 | Text7 如果有可能删除文本4、5、6之间的|,那么它看起来就像
Text1 | Text4 Text5 Text6 | Text2 | Text3 | Text7如果不可能的话,如果第一个问题解决了,我会很高兴的。
发布于 2016-08-30 11:15:46
你可以用
^([^|]*\|)((?:[^|]*\|){2})((?:[^|]*\|){3})代之以$1$3$2。
详细信息
^ -行的开始([^|]*\|) -第1组($1)捕获除|以外的零个或多个字符,然后捕获文字|((?:[^|]*\|){2}) -第2组($2)捕获与第1组相同模式的2个序列((?:[^|]*\|){3}) -第3组($3)捕获与第1组相同模式的2个序列顺序随替换模式中反向引用的顺序而改变。
若要删除第2、第3和第4 |,请使用类似的表达式:
找到什么:^([^|]*\|)([^|]*)\|([^|]*)\|([^|]*)
替换为:$1$2$3$4
基本上,您只需在替换模式中操作捕获组花束和反向引用的顺序,仅此而已。
https://stackoverflow.com/questions/39223508
复制相似问题