拿这些例子
Smith John
Smith-Crane John
Smith-Crane John-Henry
Smith-Crane John Henry
Run Code Online (Sandbox Code Playgroud)
我希望得到John
空格后面的第一个单词,但它可能直到最后,它可能直到非字母字符.这将如何在Java 1.5中?
你可以使用String.split:
line.split(" ");
Run Code Online (Sandbox Code Playgroud)
对于第一行产生的结果如下:
{ "Smith", "John" }
Run Code Online (Sandbox Code Playgroud)
然后,您可以迭代数组以找到它.如有必要,您还可以使用正则表达式作为分隔符.
这是否足够好,还是需要更强大的东西?
您可以使用正则表达式和Matcher类:
String s = "Smith-Crane John-Henry";
Pattern pattern = Pattern.compile("\\s([A-Za-z]+)");
Matcher matcher = pattern.matcher(s);
if (matcher.find()) {
System.out.println(matcher.group(1));
}
Run Code Online (Sandbox Code Playgroud)
结果:
John