本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

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

发布于2024-12-11 17:32     阅读(688)     评论(0)     点赞(4)     收藏(2)


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

我尝试过的所有方法似乎都更适合对所有整数应用相同的操作,或者只是检索整数然后失去对它们的跟踪。有人能告诉我最好的方法吗?


解决方案


使用正则表达式,您可以“浏览”字符串中的每个数字(无论它们如何分隔),并根据需要替换它们。例如,以下代码打印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);
}

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



所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:http://www.javaheidong.com/blog/article/694593/48d25085caac66c70794/

来源:java黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

4 0
收藏该文
已收藏

评论内容:(最多支持255个字符)