用越来越多的数字替换字符串空间

时间:2016-01-10 22:52:15

标签: java

我正在尝试用增量String替换integer空格,String看起来像这样(例如):

String str = "Im beginner Java Developer "

如何解决它

im1beginner2Java3Developer4

我尝试str.replace 但问题是如何将它放在String参数函数(替换)

3 个答案:

答案 0 :(得分:2)

不是最有效的解决方案,但可能是最清晰的解决方案:

String str = "Im beginner Java Developer ";
int count = 0;
while (str.contains(" "))
    str = str.replaceFirst(" ", String.valueOf(++count));

答案 1 :(得分:1)

您可以执行以下操作:

    String str = "Im beginner Java Developer ";

    int index = str.indexOf(" ", 0);
    int count = 1;
    StringBuilder strbild = new StringBuilder(str);
    while (index != -1) {

        strbild.replace(index, index + 1, String.valueOf(count));
        index = str.indexOf(" ", index + 1);
        count++;
    }

    System.out.println(strbild);

使用StringBulider替换String的元素。

答案 2 :(得分:0)

如果可以使用Java 8

    String str = "Im beginner Java Developer ";
    String[] splitted = str.split("\\s+", -1);
    String result = IntStream.range(0, splitted.length)
        .mapToObj(i -> i + splitted[i])
        .collect(Collectors.joining()).substring(1);
    System.out.println(result);