java如何拆分字符串,以每三个数字为标准拆啊

2024-12-28 04:51:14
推荐回答(3个)
回答1:

先看个例子

import java.util.Arrays;

public class $ {

    public static void main(String[] args) {
        test("0123456");
        test("01a2345");
        test("012345");
    }

    private static void test(String str) {
        String[] s = str.split("[0-9]{3}");
        System.out.println(Arrays.toString(s));
    }
}

结果:

[, , 6]
[01a, 5]
[]

再分析下结果:

  1. 结论:找到匹配的字符串,将他左面的和右面的放进数组,而他本身不体现在数组里面。

  2. 上面的第一个结果,012匹配,找345也匹配,所以结果是6

  3. 第二个结果,找到234,左面的和右面的01a,5,组成数组

  4. 第三个结果,找到012,再找345,都匹配,所以结果是空

  5. 你的需求,建议使用字符串截取的方法,方便简单,有时候最笨的方法可能是最有效的方法。

回答2:

你这个是按照指定的格式分割,也就是每三个数字都去掉,保留其他的部分。

想想
String a="1,2,3,4,5";
这样如果
String []s=a.split(",");
就是得到数组 12345
去掉了逗号
你这个也是一个道理。

想要获得每三个数字,要么用正则匹配,要么直接用subString

回答3:

用subString方法来做吧,比较简单