我如何在Java中使用regex这种格式的每行的大小/权重属性?我们老师给我们的文本文件使用了不同的字符代码,这就是为什么那些奇怪的问号字符存在的原因。
Popcorn Butter 6�pkg 3.99
Laundry Detergent 2X Ultra Free Clear 50�oz 11.99
在空格字符和�之间获取文本就足够了。
答案 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