我必须使用正则表达式来删除字符串中的某些内容。
例如
SomeText;content1|content2|content3|||content6||content8
如您所见,内容由管道分隔。内容没有固定长度,可以包含任何字符。
现在,我想将content6
替换为xxxxxx
。因此,我需要像“替换出现在第6位的管道之间的内容”
结果应该是:
SomeText;content1|content2|content3|||xxxxxx||content8
有谁知道如何做到这一点? 提前谢谢!
答案 0 :(得分:1)
假设我们不需要处理任何“转义管道”,您可以搜索
^((?:[^|]*\|){5})[^|]*(.*)$
并将其替换为\1xxxxxx\2
。
<强>解释强>
[^|]*
匹配除|
以外的任意数量的字符,因此(?:[^|]*\|){5}
匹配所有内容,包括第5个管道。