在EditText android中提取两个字符之间的数值
我在编辑文本中显示了食品价格列表,那么我如何迭代它们并提取所有价格?例如,这里我想提取:和L之间的价格 我试图使用StringTokenizer,但不知道如何使用它 试试这个在EditText android中提取两个字符之间的数值,android,stringtokenizer,Android,Stringtokenizer,我在编辑文本中显示了食品价格列表,那么我如何迭代它们并提取所有价格?例如,这里我想提取:和L之间的价格 我试图使用StringTokenizer,但不知道如何使用它 试试这个 StringTokenizer tokenizer = new StringTokenizer(string, ":L"); while (tokenizer.hasMoreTokens()) { try { int price = Integer.parseInt(tokenizer.nextTo
StringTokenizer tokenizer = new StringTokenizer(string, ":L");
while (tokenizer.hasMoreTokens()) {
try {
int price = Integer.parseInt(tokenizer.nextToken());
} catch (NumberFormatException e) {
continue;
}
}
使用regex尝试以下操作:
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;
}
只需使用一个正则表达式就可以去掉除数字以外的所有字符。你能给我代码吗?你可以轻松地用谷歌搜索。谢谢…希望你能给出我的问题+1