我有一根绳子
String str = "A1HighriseA22-5sty.Elev.A3Elevator(s)A4WalkupA5RowHouseA6DetachedA7Semi-DetachedA8TownHouse";
要求是我需要在a1前后加空格,就像wise我需要为字符串中列出的所有a加空格一样(比如a2、a3、a4、a5、a6、a7、a8前后加空格)。我不确定这是否可能。如果是的话,你能帮我怎么做吗??
2izufjch1#
你可以用 String.replaceAll 它接受一个正则表达式,然后只接受一个捕获组并在其周围添加空格
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
A9
str.replaceAll("(A\\d+)", " $1 ");
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);
2条答案
按热度按时间2izufjch1#
你可以用
String.replaceAll
它接受一个正则表达式,然后只接受一个捕获组并在其周围添加空格如果你去超过
A9
,你是muldi数字regexyrefmtwq2#