我正在尝试删除字符串数组列表中的最后一个单词。
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<String>();
list.add("8.4 8.4"); list.add("6.5 8.0"); list.add("5.0 6.3 10.0");
ArrayList<String> restlist = new ArrayList<String>();
ArrayList<String> lastlist = new ArrayList<String>();
for(String str : list) {
String everything = str.trim();
String[] words = everything.split(" ");
String lastWord = words[words.length - 1];
String restWords = everything.replace(lastWord, "");
lastlist.add(lastWord);
restlist.add(restWords);
}
System.out.println(restlist);
System.out.println(lastlist);
}
如果我运行我的代码,它将输出:
[ , 6.5 , 5.0 6.3 ]
[8.4, 8.0, 10.0]
问题在于它也删除了第一个8.4,而我只想删除最后一个。
因为您想分隔其余部分的最后一个单词,所以最好使用“ lastIndex()”和“ substring()”方法:
for(String str : list) {
String everything = str.trim();
int lastPos = everything.lastIndexOf(' ');
if(lastPos < 0){
continue; //check if there is a space char
}
String lastWord = everything.substring(lastPos + 1);
String restWords = everything.substring(0,lastPos)
lastlist.add(lastWord);
restlist.add(restWords);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句