读取和替换字符串中的整数

时间:2013-04-17 18:00:46

标签: java string integer

我有一个字符串,例如“x(10,9,8)”我想从字符串中读取每个整数然后使用整数作为数组索引从数组中检索一个新的整数并用该值替换它。

我尝试过的所有方法似乎更适合将相同的东西应用于所有整数,或者只是检索整数然后忽略它们。谁能告诉我最好的方法呢?

非常感谢。

2 个答案:

答案 0 :(得分:1)

使用正则表达式,您可以“浏览”字符串中的每个数字,无论它们如何分开,并根据需要替换它们。例如,下面的代码打印x(101, 99, 88)

public static void main(String[] args) {
    int[] array = {0, 1, 2, 3, 4, 5, 6, 7, 88, 99, 101};
    String s = "x(10, 9, 8)";

    Pattern p = Pattern.compile("\\d+");
    Matcher m = p.matcher(s);
    StringBuilder replace = new StringBuilder();
    int start = 0;
    while(m.find()) {
        //append the non-digit part first
        replace.append(s.substring(start, m.start()));
        start = m.end();
        //parse the number and append the number in the array at that index
        int index = Integer.parseInt(m.group());
        replace.append(array[index]);
    }
    //append the end of the string
    replace.append(s.substring(start, s.length()));

    System.out.println(replace);
}

注意:您应该添加一些异常处理。

答案 1 :(得分:0)

使用Integer.parseInt()String.split(",")String.indexOf()()解析字符串的数量。创建List和他们一起。

遍历此列表并使用数组中的值创建一个新列表。

遍历新List并创建响应String。