繁体   English   中英

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

[英]How to Add spaces between a string in Java?

我有一个字符串

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

要求是我需要在 A1 之前和之后添加空格,同样我需要为字符串中列出的所有 A 执行此操作(例如 A2、A3、A4、A5、A6、A7、A8 之前和之后的空格)。 我不确定这是否可能。 如果是的话,你能帮我看看怎么做吗?

您可以使用接受正则表达式的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

如果您 go 超过A9 ,则您是多位正则表达式

str.replaceAll("(A\\d+)", " $1 ");
    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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM