java操作字符串(在空格后面的每个字符前插入一个字母)

时间:2015-12-27 22:15:31

标签: java regex string

如果我有一个类似于string="1 3 5 8 15"的字符串,并且我想操纵该字符串,以便在每个非空格字符(总是一个数字)的前面插入一个字母,例如{ {1}}新字符串将变为D。在我的特定代码中,如果有任何相关性,则初始字符串由用户输入,字符串字符总是单个或两位数。

3 个答案:

答案 0 :(得分:1)

尝试一下:

str.replaceAll("^| ", "$0D");

答案 1 :(得分:0)

有很多方法可以做到。

String [] arr = str.split(" "); //split on white space
String builder = "";
for(int i=0; i<arr.length; i++){
     builder += "D" + arr[i];
     if(i!=arr.length-1){
         builder += " ";
     }
}

当然,有许多方法,因为字符串已被研究进出。我的方法在空格上拆分,并重建在每个元素前面插入“D”的字符串。

答案 2 :(得分:0)

只需替换所有数字(\ d +):

string.replaceAll("(\\d+)", "D$1");

编辑:您还可以使用

将数字大小限制为2

\ d {1,2}