簡體   English   中英

Java:獲取字符串中最后一個單詞的最簡單方法

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM