基本上,我需要一个代码片段,找到所有的4个字母的单词在一个句子中输入的用户和取代他们的****。不管我怎么修改,我写的代码都不起作用(它不应该计算空格(例如)
public class DisguiseWords {
static void count(String string) {
// Create an char array of given String
int j = string.trim().indexOf(" ");
while (j > 0) {
System.out.println(string.substring(0, j) + "-->> words " + j);
string = string.substring(j + 1).toString();
j = string.indexOf(" ");
}
if (string.length() == 4)
System.out.println("****");
}
}
3条答案
按热度按时间umuewwlo1#
如果不想使用正则表达式,但又想收集4个字母的世界,可以这样做:
x0fgdtte2#
String
当与正则表达式结合使用时,有一些非常方便的工具。这个任务可以这样做:
输出:
说明:
replaceAll
将采用正则表达式并用给定的替换替换找到的每个匹配项。正则表达式由以下部分组成:\b
标记单词边界\w{4}
意思是一个四位数的单词b5buobof3#
您可以将字符串拆分为字符串数组,然后检查每个项是否为4个字母,如下所示:
试运行
输入
输出