我有一个包含数千行的文件:
node: { title: "0" label: "sub_401000" color: 76 textcolor: 73 bordercolor: black }
我需要的是提取标题值和标签值。例如在上面的行中。我需要提取0和sub_401000。我可以分开它们,但需要花费很多时间。 我想知道这个过程最有效的方法是什么?
答案 0 :(得分:1)
这样的事情应该做(注意我假设标题:和引号之间有一个空格。
public class Test {
public static void main(String[] args)
{
String str = "node: { title: \"0\" label: \"sub_401000\" color: 76 textcolor: 73 bordercolor: black }";
//String regex = ".*title: \"(.*)\".*label: \"(.*)\""; better regex below suggested by pschemo
String regex = "title: \"([^\"]*)\".*label: \"([^\"]*)\"";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(str);
if(m.find())
{
String title = m.group(1);
String label = m.group(2);
System.out.println(title);
System.out.println(label);
}
}
}
输出:
0
sub_401000
答案 1 :(得分:0)