为了账号安全,请及时绑定邮箱和手机立即绑定

如何找到字符串中的最后一个单词

如何找到字符串中的最后一个单词

达令说 2022-06-23 16:33:29
我正在尝试创建一个返回字符串中最后一个单词的方法,但我在编写它时遇到了一些麻烦。我试图通过查找字符串中的最后一个空格并使用子字符串来查找单词来做到这一点。这是我到目前为止所拥有的:    String strSpace=" ";    int Temp; //the index of the last space    for(int i=str.length()-1; i>0; i--){        if(strSpace.indexOf(str.charAt(i))>=0){            //some code in between that I not sure how to write        }    }}我刚开始使用 Java,所以我不知道该语言的许多复杂部分。如果有人可以帮助我找到解决此问题的简单方法,将不胜感激。谢谢!
查看完整描述

3 回答

?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

你可以这样做:


String[] words = originalStr.split(" ");  // uses an array

String lastWord = words[words.length - 1];

你有你的最后一句话。


您在每个空格处拆分原始字符串,并使用该方法将子字符串存储在数组中String#split。


获得数组后,您将通过获取最后一个数组索引处的值来检索最后一个元素(通过获取数组长度并减去 1,因为数组索引从 0 开始)。


查看完整回答
反对 回复 2022-06-23
?
蓝山帝景

TA贡献1843条经验 获得超7个赞

String str =  "Code Wines";

String lastWord = str.substring(str.lastIndexOf(" ")+1);

System.out.print(lastWord);

输出:


Wines


查看完整回答
反对 回复 2022-06-23
?
慕沐林林

TA贡献2016条经验 获得超9个赞

String#lastIndexOf并且String#substring是你这里的朋友。


charJava 中的 s 可以直接转换为ints,我们将使用它来查找最后一个空格。然后我们将简单地从那里子串。


String phrase = "The last word of this sentence is stackoverflow";

System.out.println(phrase.substring(phrase.lastIndexOf(' ')));

这也会打印空格字符本身。为了摆脱这种情况,我们只需将子字符串所在的索引加一。


String phrase = "The last word of this sentence is stackoverflow";

System.out.println(phrase.substring(1 + phrase.lastIndexOf(' ')));

如果您不想使用String#lastIndexOf,则可以遍历字符串并在每个空格处对其进行子字符串处理,直到您没有任何剩余为止。


String phrase = "The last word of this sentence is stackoverflow";

String subPhrase = phrase;

while(true) {

    String temp = subPhrase.substring(1 + subPhrase.indexOf(" "));

    if(temp.equals(subPhrase)) {

        break;

    } else {

        subPhrase = temp;

    }

}

System.out.println(subPhrase);


查看完整回答
反对 回复 2022-06-23
  • 3 回答
  • 0 关注
  • 150 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信