如何拆分单词并用特定字母分隔?

时间:2014-02-06 14:55:03

标签: java split

在我的程序中,我想从用户那里获取输入,并将单词与单词“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);
        }
    }
}

感谢您的任何提示或帮助!

4 个答案:

答案 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", "");