使用正则表达式在空白字符和�之间获取文本

时间:2017-09-19 18:34:14

标签: java regex

我如何在Java中使用regex这种格式的每行的大小/权重属性?我们老师给我们的文本文件使用了不同的字符代码,这就是为什么那些奇怪的问号字符存在的原因。

Popcorn                   Butter                             6�pkg          3.99
Laundry Detergent         2X Ultra Free Clear                50�oz          11.99

在空格字符和�之间获取文本就足够了。

1 个答案:

答案 0 :(得分:1)

尝试使用此正则表达式\s+(\d+)�,如果您不确定结果是否为数字,则可以使用.*\s+(.*?)�来匹配空格和符号之间的任何字符�:

String[] strs = {
    "Popcorn                   Butter                             6�pkg          3.99",
    "Laundry Detergent         2X Ultra Free Clear                50�oz          11.99"
};

String regex = "\\s+(\\d+)�";
Pattern pattern = Pattern.compile(regex);
for (String str : strs) {
    Matcher matcher = pattern.matcher(str);
    while (matcher.find()) {
        System.out.println(matcher.group(1));
        //                               ^------note to get the group one
    }
}

<强>输出

6
50