以下是程序期望的输出: 如果originalString =“ CATCATICATAMCATCATGREATCATCAT”; 输出应为“ I AM GREAT”。 该代码必须找到字符序列(在这种情况下为CAT),然后删除它们。另外,生成的字符串在单词之间必须有空格。
String origString = remixString.replace("CAT", "");
我发现我必须使用String.replace,但是找出它是否不是cat并生成结果字符串并在单词之间使用空格的逻辑可能是什么呢?
答案 0 :(得分:1)
首先,您可能想使用replaceAll
方法,以确保替换字符串中所有出现的“ CAT”。然后,您要引入空格,因此,请用“”(空格)代替“ CAT”而不是空的String。
正如下面的评论所指出的,单词之间可能存在多个空格-因此我们使用正则表达式将“ CAT”的多个实例替换为一个空格。 “ +”符号表示“一个或多个”。
最后,修剪String以消除开头和结尾的空格。
remixString.replaceAll("(CAT)+", " ").trim()
答案 1 :(得分:0)
您可以使用replaceAll
来接受正则表达式:
String remixString = "CATCATICATAMCATCATGREATCATCAT";
String origString = remixString.replaceAll("(CAT)+", " ").trim();
注意:replace
和replaceAll
的命名非常混乱。它们都替换了匹配字符串的所有实例;区别在于replace
采用文字文本作为参数,而replaceAll
采用正则表达式。
答案 2 :(得分:0)
也许这会有所帮助
String result = remixString.replaceAll("(CAT){1,}", " ");