如何找到字符串的最后一个单词?我不是想找一个固定的单词,换句话说,我不知道最后一个单词是什么,但是我想找回它。
答案 0 :(得分:5)
这是我的代码:
myString = myString.trim();
String[] wordList = myString.split("\\s+");
System.out.println(wordList[wordList.length-1]);
答案 1 :(得分:4)
假设您考虑用空格和标点符号(特别是逗号,空格,换行符,括号等)分隔的句子中的单词,这意味着标点符号可以出现在句子的末尾,并且您希望包括单词中的非ASCII字符,然后下面将找到字符串中的最后一个单词而不包含标点符号:
static String lastWord(String sentence) {
Pattern p = Pattern.compile("([\\p{Alpha}]+)(?=\\p{Punct}*$)", Pattern.UNICODE_CHARACTER_CLASS);
Matcher m = p.matcher(sentence);
if (m.find()) {
return m.group();
}
return ""; // or null
}
正则表达式使用预测来在字符串的末尾找到零或多个标点符号,并匹配其前面的字母词。
如果您还想允许单词中的数字,请将{Alpha}
更改为{Alnum}
。
答案 2 :(得分:3)
阅读String API以了解您可能使用的各种方法。
例如你可以:
lastIndexOf(...)
方法查找单词开头的位置substring(...)
方法获取单词答案 3 :(得分:0)
为此使用StringTokenizer
StringTokenizer st = new StringTokenizer("this is a test");
//获取任何字符串
int count = st.countTokens();
//它将计算该特定字符串中的标记数
String[] myStringArray = new String[count];
for (int i = 0; i < count; i++) {
`myStringArray[i] = st.nextToken();`//insert the words/Tken in to the string array
}
`System.out.println("Last Word is--" + myStringArray[myStringArray.length - 1])`;//get the last words of the given String
答案 4 :(得分:0)
System.out.println("enter the string");
Scanner input = new Scanner(System.in);
String instr = input.nextLine();
instr = instr.trim();
int index = instr.lastIndexOf(" ");
int l = instr.length();
System.out.println(l);
String lastStr = instr.substring(index+1,l);
System.out.println("last string .."+lastStr);