我遇到了几年前自己编写的旧代码。但是,现在,我不知道它为什么会起作用。在继续进行代码更改之前,我需要了解它的工作原理。
我有 CSV 格式的数据
"abc",123456789,"def"
有时,服务器会返回我
"abc",123,456,789,"def"
因此,我编写了以下代码来解决它。
public class Sandbox {
private static final Pattern digitPattern = Pattern.compile("(\",)|,(?=[\\d,]+,\")");
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// "abc",123,456,789,"def"
String data = "\"abc\",123,456,789,\"def\"";
final String result = digitPattern.matcher(data).replaceAll("$1");
// "abc",123456789,"def"
System.out.println(result);
}
}
但是,当我回顾代码时,我不知道为什么|,
并且[\\d,]+
能够帮助我删除逗号。输入的哪一部分|,
匹配?
非常感谢您逐步解释解析工作的方式