我有一个看起来像这样的字符串
String read = "1130:5813|1293:5803|1300:5755|1187:5731|"
如您所见,有4对整数值。
我想在列表中添加类似这样的值
a = 1130
b = 5813
groupIt pair = new groupIt(a,b);
List<groupIt> group = new ArrayList<groupIt>();
group.add(pair);
如何为4对String执行此操作。
可以Pattern.compile()
使用吗?
答案 0 :(得分:3)
为什么不使用
String[] tokens = read.split("\\|");
for (String token : tokens) {
String[] params = token.split(":");
Integer a = Integer.parseInt(params[0]);
Integer b = Integer.parseInt(params[1]);
// ...
}
答案 1 :(得分:0)
只是好好衡量,这是你的正则表达式:
public class RegexClass {
private static final Pattern PATTERN = Pattern.compile("(\\d{4}):(\\d{4})\\|");
public void parse() {
String text = "1130:5813|1293:5803|1300:5755|1187:5731|";
Matcher matcher = PATTERN.matcher(text);
int one = 0;
int two = 0;
while(matcher.find()) {
one = Integer.parseInt(matcher.group(1));
two = Integer.parseInt(matcher.group(2));
// Do something with them here
}
}
}
但是,我认为迈克尔是正确的:他的解决方案更好!
祝你好运......