[英]Java - Simplest way to get characters that come after substring inside string
[英]Java: Simplest way to get last word in a string
获取 Java 中字符串最后一个单词的最简单方法是什么? 您可以假设没有标点符号(只有字母字符和空格)。
String test = "This is a sentence";
String lastWord = test.substring(test.lastIndexOf(" ")+1);
String testString = "This is a sentence";
String[] parts = testString.split(" ");
String lastWord = parts[parts.length - 1];
System.out.println(lastWord); // "sentence"
这是使用String
的内置正则表达式功能的一种方法:
String lastWord = sentence.replaceAll("^.*?(\\w+)\\W*$", "$1");
这个想法是匹配从^
到$
的整个字符串,在捕获组 1 中捕获\\w+
的最后一个序列,并使用$1
用它替换整个句子。
如果其他空白字符是可能的,那么你会想要:
testString.split("\\s+");
您可以使用StringUtils
(来自Apache Commons Lang )做到这一点。 它避免了索引魔术,因此更容易理解。 不幸的是,当输入字符串中没有分隔符时, substringAfterLast
返回空字符串,因此我们需要if
语句来处理这种情况。
public static String getLastWord(String input) {
String wordSeparator = " ";
boolean inputIsOnlyOneWord = !StringUtils.contains(input, wordSeparator);
if (inputIsOnlyOneWord) {
return input;
}
return StringUtils.substringAfterLast(input, wordSeparator);
}
获取 Kotlin 中的最后一句话:
String.substringAfterLast(" ")
String s="print last word";
x:for(int i=s.length()-1;i>=0;i--) {
if(s.charAt(i)==' ') {
for(int j=i+1;j<s.length();j++) {
System.out.print(s.charAt(j));
}
break x;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.