在我的程序中,我想从用户那里获取输入,并将单词与单词“e”分开,并将它们连接起来,不带任何空格或不同的行。例如,如果我的输入是“Rob是一个好人”,我希望它打印“niceperson”。这就是我到目前为止所做的:
Scanner kybd = new Scanner(System.in);
String s = kybd.nextLine();
String[] arr = s.split(" ");
for ( String ss : arr) {
String []ary = {ss};
for(int i = 0; i < ss.length(); i++){
if(ary[i].equalsIgnoreCase("e")){
System.out.print(ary);
}
}
}
感谢您的任何提示或帮助!
答案 0 :(得分:3)
使用contains
方法,它的工作原理如下:
Scanner kybd = new Scanner(System.in);
StringBuilder result = new StringBuilder();
String s = kybd.nextLine();
String[] arr = s.split(" ");
for ( String ss : arr) {
if(ss.contains("e")) {
result.append(ss);
}
}
答案 1 :(得分:1)
你可以这样做
String str = "Rob is a nice person";
String[] arr = str.split(" "); // split by space
StringBuilder sb = new StringBuilder();
for (String i : arr) {
if (i.contains("e")) { // if word contains e
sb.append(i);// append that word
}
}
System.out.println(sb);
Out put:
niceperson
答案 2 :(得分:0)
像string.Replace(“e”,“e”)这样的方法怎么样; 我假设您正在使用String静态方法,因为我可以看到您正在使用Split
答案 3 :(得分:0)
试试这个
s = s.replaceAll("(\\b[\\w&&[^e]]+\\b)|\\s", "");