如何在java中的字符串之间添加空格?

23c0lvtd  于 2021-06-27  发布在  Java
关注(0)|答案(2)|浏览(350)

我有一根绳子

String str = "A1HighriseA22-5sty.Elev.A3Elevator(s)A4WalkupA5RowHouseA6DetachedA7Semi-DetachedA8TownHouse";

要求是我需要在a1前后加空格,就像wise我需要为字符串中列出的所有a加空格一样(比如a2、a3、a4、a5、a6、a7、a8前后加空格)。我不确定这是否可能。如果是的话,你能帮我怎么做吗??

2izufjch

2izufjch1#

你可以用 String.replaceAll 它接受一个正则表达式,然后只接受一个捕获组并在其周围添加空格

String str = "A1HighriseA22-5sty.Elev.A3Elevator(s)A4WalkupA5RowHouseA6DetachedA7Semi-DetachedA8TownHouse";
String result = str.replaceAll("(A\\d)", " $1 ");

//A1HighriseA22-5sty.Elev.A3Elevator(s)A4WalkupA5RowHouseA6DetachedA7Semi-DetachedA8TownHouse
// A1 Highrise A2 2-5sty.Elev. A3 Elevator(s) A4 Walkup A5 RowHouse A6 Detached A7 Semi-Detached A8 TownHouse

如果你去超过 A9 ,你是muldi数字regex

str.replaceAll("(A\\d+)", " $1 ");
yrefmtwq

yrefmtwq2#

String str1 = "A1HighriseA22-5sty.Elev.A3Elevator(s)A4WalkupA5RowHouseA6DetachedA7Semi-DetachedA8TownHouse";
    String str=""; 
    for(int i=0;i<str1.length();i++){
        if(str1.charAt(i)=='A' && (str1.charAt(i+1)=='1' || str1.charAt(i+1)=='2' || str1.charAt(i+1)=='3' || 
        str1.charAt(i+1)=='4' || str1.charAt(i+1)=='5' || str1.charAt(i+1)=='6' || str1.charAt(i+1)=='7' ||
        str1.charAt(i+1)=='8' || str1.charAt(i+1)=='9')){
            str+= " "+str1.charAt(i)+""+str1.charAt(i+1)+" ";
            i++;
        }else{
            str+=""+str1.charAt(i);
        }
    }
    System.out.println(str);

相关问题