如何使用嵌套组在Java中用正则表达式替换字符串

gstackoverflow

我有格式行

"123","45","{"VFO":[B501], "AGN":[605,B501], "AXP":[665], "QAV":[720,223R,251Q,496M,548A,799M]}","4"

它可以更长,但始终包含

"number","number","someValues","digit"

我需要将值包裹在someValues内并用引号引起来

用于测试字符串的预期结果应该是。

"123","45","{"VFO":["B501"], "AGN":["605","B501"], "AXP":["665"], "QAV":["720","223R","251Q","496M","548A","799M"]}","4"

请提出Java中最简单的解决方案。

聚苯乙烯

我的变体:

                        String valuePattern = "\\[(.*?)\\]";
                        Pattern valueR = Pattern.compile(valuePattern);
                        Matcher valueM = valueR.matcher(line);
                        List<String> list = new ArrayList<String>();
                        while (valueM.find()) {
                            list.add(valueM.group(0));
                        }
                        String value = "";
                        for (String element : list) {
                            element = element.substring(1, element.length() - 1);
                            String[] strings = element.split(",");
                            String singleGroup = "[";
                            for (String el : strings) {
                                singleGroup += "\"" + el + "\",";
                            }
                            singleGroup = singleGroup.substring(0, singleGroup.length() - 1);
                            singleGroup = singleGroup + "]";
                            value += singleGroup;
                        }
                        System.out.println(value);
法尔塔加因特克斯多

已编辑

好的,这是我找到的最短的方法,我认为它非常好用,除了逗号和括号(我必须手动添加...)之外,也许有人可以立即完成此操作,但我发现处理起来很棘手嵌套组的替换。

import java.util.*;
import java.lang.*;
import java.io.*;

Pattern p = Pattern.compile("(\\[(\\w+))|(,(\\w+))");
Matcher m = p.matcher("\"123\",\"45\",\"{\"VFO\":[B501], \"AGN\":[605,B501], \"AXP\":[665], \"QAV\":[720,223R,251Q,496M,548A,799M]}\",\"4\"");
StringBuffer s = new StringBuffer();
while (m.find()){
  if(m.group(2)!=null){
    m.appendReplacement(s, "[\""+m.group(2)+"\"");
  }else if(m.group(4)!=null){
    m.appendReplacement(s, ",\""+m.group(4)+"\"");
  }
}
m.appendTail(s);
print(s);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用正则表达式替换子字符串中的特定字符?

来自分类Dev

如何使用正则表达式替换确切的字符串?在DrRacket中

来自分类Dev

如何使用正则表达式从字符串中提取和替换特定模式?

来自分类Dev

如何使用正则表达式模式替换以下字符串

来自分类Dev

如何在Java中使用正则表达式非捕获组进行字符串替换

来自分类Dev

如何使用正则表达式将组值替换为空字符串

来自分类Dev

如何使用正则表达式替换指定字符串以外的所有内容

来自分类Dev

在sed中用正则表达式替换字符串

来自分类Dev

如何使用正则表达式替换python词典中的字符串

来自分类Dev

如何在Python中用正则表达式匹配和替换多个字符串

来自分类Dev

如何使用正则表达式查找和替换字符串的开头和结尾

来自分类Dev

如何使用正则表达式替换符号字符串

来自分类Dev

如何使用正则表达式替换子字符串中的特定字符?

来自分类Dev

在Powershell中用正则表达式替换子字符串

来自分类Dev

正则表达式替换中用符号包裹的匹配字符串

来自分类Dev

如何使用正则表达式替换没有嵌套括号的字符串中不匹配的括号?

来自分类Dev

使用正则表达式替换字符串

来自分类Dev

Java字符串替换正则表达式

来自分类Dev

在Java中使用正则表达式-当两组外部括号包含嵌套的括号和字符串文字时,如何捕获它们?

来自分类Dev

python如何用正则表达式组替换字符串?

来自分类Dev

如何在Java中用正则表达式来替换性地替换字符串

来自分类Dev

如何使用正则表达式替换来附加到Java字符串的开头?

来自分类Dev

在Java中使用正则表达式从URL的字符串组中提取数字

来自分类Dev

使用正则表达式替换字符串

来自分类Dev

使用自定义正则表达式替换 Java 字符串

来自分类Dev

如何在javascript中用等长的空格替换找到的正则表达式子字符串?

来自分类Dev

如何使用正则表达式从引号之间提取包含所需字符串的组?

来自分类Dev

使用正则表达式替换字符串;

来自分类Dev

如何使用正则表达式检测字符串中的字符组?

Related 相关文章

  1. 1

    如何使用正则表达式替换子字符串中的特定字符?

  2. 2

    如何使用正则表达式替换确切的字符串?在DrRacket中

  3. 3

    如何使用正则表达式从字符串中提取和替换特定模式?

  4. 4

    如何使用正则表达式模式替换以下字符串

  5. 5

    如何在Java中使用正则表达式非捕获组进行字符串替换

  6. 6

    如何使用正则表达式将组值替换为空字符串

  7. 7

    如何使用正则表达式替换指定字符串以外的所有内容

  8. 8

    在sed中用正则表达式替换字符串

  9. 9

    如何使用正则表达式替换python词典中的字符串

  10. 10

    如何在Python中用正则表达式匹配和替换多个字符串

  11. 11

    如何使用正则表达式查找和替换字符串的开头和结尾

  12. 12

    如何使用正则表达式替换符号字符串

  13. 13

    如何使用正则表达式替换子字符串中的特定字符?

  14. 14

    在Powershell中用正则表达式替换子字符串

  15. 15

    正则表达式替换中用符号包裹的匹配字符串

  16. 16

    如何使用正则表达式替换没有嵌套括号的字符串中不匹配的括号?

  17. 17

    使用正则表达式替换字符串

  18. 18

    Java字符串替换正则表达式

  19. 19

    在Java中使用正则表达式-当两组外部括号包含嵌套的括号和字符串文字时,如何捕获它们?

  20. 20

    python如何用正则表达式组替换字符串?

  21. 21

    如何在Java中用正则表达式来替换性地替换字符串

  22. 22

    如何使用正则表达式替换来附加到Java字符串的开头?

  23. 23

    在Java中使用正则表达式从URL的字符串组中提取数字

  24. 24

    使用正则表达式替换字符串

  25. 25

    使用自定义正则表达式替换 Java 字符串

  26. 26

    如何在javascript中用等长的空格替换找到的正则表达式子字符串?

  27. 27

    如何使用正则表达式从引号之间提取包含所需字符串的组?

  28. 28

    使用正则表达式替换字符串;

  29. 29

    如何使用正则表达式检测字符串中的字符组?

热门标签

归档