我有一个包含三个单词“ 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^


我该怎么做?非常感谢您的帮助。

最佳答案

^是分隔符,因此您可以将字符串拆分为标记:

String[] tokens = text.split("\\^", -1);


然后搜索标记的数组以查找TEST,应用所需的任何逻辑,并根据需要更新标记。

最后,输出更新的令牌列表,以^分隔:

for (int i=0; i<tokens.length; i++) {
    if (i > 0) {
        System.out.print("^");
    }
    System.out.print(tokens[i]);
}
System.out.println();


这样,您实现的算法将更加清晰。

10-07 19:40
查看更多