java获取字符串某个标点第二次出现的位置,并截取这个标点后面的字符串

时间:2025-04-23 17:43:03

问题:获取字符串中第二个逗号后面的字符串。

例如:“1128,2013,508,630,99,146”,截取后:“508,630,99,146”

思路:利用两次indexOf方法。
第一个indexOf获取到第一个逗号的索引位置,然后可以根据这个索引,再用一次indexOf方法,这个indexOf需要两个参数,第一个参数是“,”,第二个参数是上面获取的索引值+1。

public static void main(String[] args) {
    List<String> list= new ArrayList<>();
    list.add("1128,2013,508,630,99,146");
    list.add("1412,2013,571,967,223,180");
    for (int i = 0; i < list.size(); i++) {
        String str = "";
        int index1 = list.get(i).indexOf(",");
        System.out.println("第一个逗号的索引:" + index1);
        int index2 = list.get(i).indexOf(",", index1 + 1);
        System.out.println("第二个逗号的索引:" + index2);
        //截取第二个逗号后面的字符串
        String new_list = list.get(i).substring(index2 + 1);
        System.out.println("新的字符串:" + new_list);
    }
}

结果:

第一个逗号的索引:4
第二个逗号的索引:9
新的字符串:508,630,99,146
第一个逗号的索引:4
第二个逗号的索引:9
新的字符串:571,967,223,180