我想从字符串中获取一些值。例如:
String string= "Name: armand," + "Age: 22," + "etc";
例如,我如何使用正则表达式获取名称?
我对正则表达式很不好,所以我不知道如何解决这个问题。
抱歉,它实际上看起来像这样名称:armand,年龄:22 等。但是我的正则表达式很糟糕,这对我来说很难解决。
给定String s = "Name:armand,Age:22";
这里有一个提示:
s.split(",")[0].split(":")
会给你armand
,
s.split(",")[1].split(":")
会给你22
不需要正则表达式知识。
有些人在遇到问题时会想“我知道,我会使用正则表达式”。现在他们有两个问题。- 杰米扎温斯基
取决于您真正想要做什么,例如,如果您只想获取给定键的值,假设键和值用冒号分隔,键/值用逗号分隔,您可以以这种方式拆分字符串首先是逗号,然后是冒号:
String[] couple = string.split(",");
for(int i =0; i < couple.length ; i++) {
String[] items =couple[i].split(":");
items[0]; //Key
items[1]; //Value
}
如果你想用正则表达式来做,你可以这样做:
String string = "Name:armand,Age:22,";
Pattern pattern = Pattern.compile("(\\w+?):(\\w+?),");
Matcher matcher = pattern.matcher(string);
while (matcher.find()) {
String key = matcher.group(1);
String value = matcher.group(2);
System.out.println("Key : " + key + " value : " + value);
}