我正在导入一个包含无数行 "##,##"
的文件。每个数字可以是一位或两位数字。
我想使用String.split(regex)
来获取两个不带相邻引号的数字。
了解我可以蚕食第一个和最后一个字符并使用非正则表达式分割,我希望有一个正则表达式可以使这更加优雅。
建议?
编辑:
In: "12,3"
Out: 12
3
最佳答案
如何使用正则表达式\"(d+),(d+)\"
。然后使用 Pattern.matcher(input)
而不是 String.split
,并通过 Matcher.group(int)
获取您的数字。
请考虑以下代码片段:
String line = "\"1,31\"";
Pattern pattern = Pattern.compile("\"(\\d+),(\\d+)\"");
Matcher matcher = pattern.matcher(line);
if (matcher.matches()) {
int firstNumber = Integer.parseInt(matcher.group(1));
int secondNumber = Integer.parseInt(matcher.group(2));
// do whatever with the numbers
}
关于java String.split(regex) 设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17810667/