java正则表达式搜索替换问题
我有一个字符串,其中包含三次出现的单词“TEST”。每个单词后面都跟有“^”,我需要检查“^”第2次和第3次出现之间的内容是否为空,如果为空/为空,请进一步搜索“^”第5次和第6次出现之间的内容是否为“”
如果为“”,则将其替换为空白/空
只要找到测试词,我就需要重复这个逻辑检查
例如:
现有字符串:
aaaa^
TEST^x^^y^z^""^cccc^bbb^
bbbb^
TEST^p^^q^r^""^lll^mmm^
TEST^P^X^q^n^""^hhh^ttt^
所需字符串:
aaaa^
TEST^x^^y^z^^cccc^bbb^
bbbb^
TEST^p^^q^r^^lll^mmm^
TEST^NOT EMPTY THUS IGNORE^X^q^n^""^hhh^ttt^
我该怎么做?非常感谢您的帮助
# 1 楼答案
蒂姆的回答几乎是正确的。但是,也可能出现这样的情况,即在“”之后没有第6个字符,而是其他字符。修正是
# 2 楼答案
^
是分隔符,因此可以将字符串拆分为标记:然后在该标记数组中搜索
TEST
,应用所需的逻辑,根据需要更新标记最后,输出更新后的令牌列表,以
^
分隔:这样做,您正在实现的算法将更加清晰
# 3 楼答案
说明: