提取 EditText 中 2 个字符之间的数值 android

Extract numeric values between 2 characters in EditText android

我在 EditText 中显示了食品价格列表,那么如何遍历它们并提取所有价格?例如,在这里我想提取 : 和 L 之间的价格。

我正在尝试使用 StringTokenizer 但不知道如何使用它...

试试这个

StringTokenizer tokenizer = new StringTokenizer(string, ":L");
while (tokenizer.hasMoreTokens()) {
    try {
        int price = Integer.parseInt(tokenizer.nextToken());
    } catch (NumberFormatException e) {
        continue;
    }
}

使用正则表达式尝试以下操作:

final String s = "Price:1500L.L";
final Pattern p = Pattern.compile(":.*?L");
final Matcher m = p.matcher(s);
if (m.find()) {
    final String result = m.group().subSequence(1, m.group().length() - 1).toString();
    //result = 1500
}

我在 Java 中测试了一些代码。这可能有帮助

private static int getSum(String test) {
    String[] res1 = test.replace("Price:", "-").replace("L.L", "-").split("-");
    int sum = 0;
    for (String s : res1) {
        try {
            sum += Integer.valueOf(s);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    return sum;
}