如何检查和替换字符串中的字符序列?

时间:2019-08-28 10:28:45

标签: java

以下是程序期望的输出: 如果originalString =“ CATCATICATAMCATCATGREATCATCAT”; 输出应为“ I AM GREAT”。 该代码必须找到字符序列(在这种情况下为CAT),然后删除它们。另外,生成的字符串在单词之间必须有空格。

        String origString = remixString.replace("CAT", "");

我发现我必须使用String.replace,但是找出它是否不是cat并生成结果字符串并在单词之间使用空格的逻辑可能是什么呢?

3 个答案:

答案 0 :(得分:1)

首先,您可能想使用replaceAll方法,以确保替换字符串中所有出现的“ CAT”。然后,您要引入空格,因此,请用“”(空格)代替“ CAT”而不是空的String。

正如下面的评论所指出的,单词之间可能存在多个空格-因此我们使用正则表达式将“ CAT”的多个实例替换为一个空格。 “ +”符号表示“一个或多个”。

最后,修剪String以消除开头和结尾的空格。

remixString.replaceAll("(CAT)+", " ").trim()

答案 1 :(得分:0)

您可以使用replaceAll来接受正则表达式:

String remixString = "CATCATICATAMCATCATGREATCATCAT";
String origString = remixString.replaceAll("(CAT)+", " ").trim();

注意:replacereplaceAll的命名非常混乱。它们都替换了匹配字符串的所有实例;区别在于replace采用文字文本作为参数,而replaceAll采用正则表达式。

答案 2 :(得分:0)

也许这会有所帮助

String result = remixString.replaceAll("(CAT){1,}", " ");