如何在字符串中包含的数字之间添加空格?

时间:2017-12-16 10:16:00

标签: java android

我的字符串为"DOC_87654321 -ABC76543"。我想要的是在数字之间添加空格。结果应为"DOC_8 7 6 5 4 3 2 1-ABC7 6 5 4 3"。怎么可能?

3 个答案:

答案 0 :(得分:2)

试试这个

String str = "DOC_87654321 -ABC76543";
StringBuilder sb = new StringBuilder();

for (int i = 0; i < str.length(); i++) {
    char c = str.charAt(i);
    if (Character.isDigit(c)) {
        sb.append(c + " ");
    } else {
        sb.append(c);
    }
}
Log.e("DATA",sb.toString());

答案 1 :(得分:1)

你可以用这个:

    String str = "DOC_87654321 -ABC76543- 959565412";
    String finalStr = "";
    String[] split = str.split("-");
    for (int i = 0; i < split.length; i++) {
        finalStr +=
                split[i]
                        .replaceAll("([0-9])", "$1 ")
                        .trim()
                        + (i != split.length - 1 ? '-' : "");
    }
    System.out.println("finalStr = " + finalStr);

答案 2 :(得分:1)

如果你不想使用Character.isDigit(),你可以比较他们的ascii十进制值并像这样使用

public static void main(String[] args) {
        String str = "DOC_87654321 -ABC76543";
        StringBuilder string = new StringBuilder();
        for(int i=0;i<str.length();i++) {
            if(str.charAt(i) >= 48 && str.charAt(i) <=57) {
                string.append(str.charAt(i)+" ");
            }else {
                string.append(str.charAt(i));
            }
        }
        System.out.println(string.toString());
    }