java String.split(regex) 设计

标签 java regex string

我正在导入一个包含无数行 "##,##" 的文件。每个数字可以是一位或两位数字。

我想使用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/

相关文章:

java - RecyclerView 列表项目不显示也不播放

c# - 使用 C# 从 html 中删除自定义 xml 标签

正则表达式只匹配第一行?

java - 如何在 Java 中拆分字符串,包括空格(就像在 Python 中一样)

java - 如何剪辑 Path2D?

java - 我需要清理 Java 中的 Thread 对象吗?

java - 你如何在java中创建多线程函数?

xml - 删除emacs中某种类型的所有标签

c++ - 构造一个像 JSON 文件一样的字符串 C++

r - 在数据框创建的循环中,使用 data.table 包中的 set() 将值从一个数据框复制并粘贴到另一个数据框