如何选择从第一个索引开始直到第一个逗号的子字符串?

时间:2016-08-04 14:19:28

标签: java substring indexof

例如,我有以下字符串:

ABC123, CBA 123, cba.cba

如何只选择ABC123,在第一个逗号后发出任何内容?

出于某种原因,我已经能够以相反的方式使用它,但不是正确的方法。 \ _0.o _ /

这是一些源代码,尽管它并不真正相关,因为它不起作用:

private void resultListValueChanged(javax.swing.event.ListSelectionEvent evt) {                                        
    // TODO add your handling code here:
    searchText.setText(resultList.getSelectedValue().substring(resultList.getSelectedValue().indexOf(",")+1).trim());    
}  

这会产生

CBA 123, cba.cba

private void resultListValueChanged(javax.swing.event.ListSelectionEvent evt) {                                        
    // TODO add your handling code here:
    searchText.setText(resultList.getSelectedValue().substring(0,resultList.getSelectedValue().indexOf(",")));    
}  

3 个答案:

答案 0 :(得分:1)

我猜你可以先拆分字符串:

String[] parts = string.split(",")

在你得到第一个之后

String word = parts[0]

答案 1 :(得分:1)

indexOf 将为您提供指定子字符串的第一次出现的索引,即","。 并且 subString 将从开头(零索引)开始到达所需位置的部分字符串,在您的情况下是从 indexOf 获得的索引。请注意,EXCLUSIVE中的结束索引意味着该索引,但不包括该索引。

String s = "ABC123, CBA 123, cba.cba";
System.out.println(s.substring(0, s.indexOf(",")));

答案 2 :(得分:0)

您可以使用StringBuilder轻松完成此任务。

StringBuilder sb  = new StringBuilder(str);
String target = sb.substring(0,sb.indexOf(","));
相关问题