如何从没有数字的字符串打印word,而不使用Java中的数组

时间:2017-12-11 16:09:49

标签: java

输入:hi ma name是jack&我已经23岁了#thanks

输出:嗨,马,名字,是,杰克,我,年,谢谢

3 个答案:

答案 0 :(得分:0)

@ M.albi,这对我有用。

import org.apache.commons.lang3.StringUtils;

public class Hello {

public static void main(String[] args) {
    String abc = "hi ma name is jack & I am 23 years # thanks";

    for (String string : abc.split(" ")) {
        if(StringUtils.isAlphanumeric(string) && !StringUtils.isNumeric(string)) {
            System.out.println(string);
        }
    }

}

}

答案 1 :(得分:0)

Scanner scanner = new Scanner(System.in);
String s = scanner.nextLine();

isletter(s);  // a call to the function


// function
public void isletter(String s)
{

for (int i = 0; i < s.length(); i++)
{
      if (isLetter(s.charAt(i) ) )
    System.out.println(s.charAt(i));

   else System.out.println(""); 


}

答案 2 :(得分:-1)

这个怎么样:

import java.util.regex.Pattern;
import java.util.stream.Collectors;

public static void main(String[] args){
    Pattern spacePattern = Pattern.compile(" ");
    Pattern alphaPattern = Pattern.compile("[a-zA-Z]+");
    String input = "hi ma name is jack & I am 23 years # thanks";

    String output = spacePattern.splitAsStream(input)
            .filter(str -> alphaPattern.matcher(str).matches())
            .collect(Collectors.joining(", "));

    System.out.println(output);
}