我有一个字符串:
[comment=null, mapping={client_unique_id=0, email=1, first_name=2, last_name=3, batch_id=4}, recordNumber=2, values=[sdsd, asdsdf.com, jjj, hhh, 24]]
现在我只需要从值中获取 sdsd,asdsdf.com,jjj,hhh,24 。 我怎么能这样做?
答案 0 :(得分:1)
使用正则表达式
values=\[(.*)\]
然后你需要从比赛中获得第一组。小组是:
0: values=[sdsd, asdsdf.com, jjj, hhh, 24]
1: sdsd, asdsdf.com, jjj, hhh, 24
试试这个
Pattern compile = Pattern.compile("values=\\[(.*)\\]");
Matcher matcher = compile.matcher("[comment=null, mapping={client_unique_id=0, email=1, first_name=2, last_name=3, batch_id=4}, recordNumber=2, values=[sdsd, asdsdf.com, jjj, hhh, 24]]");
if (matcher.find()) {
return matcher.group(1);
}
return null;
答案 1 :(得分:1)
假设,
str = "[comment=null, mapping={client_unique_id=0, email=1, first_name=2, last_name=3, batch_id=4}, recordNumber=2, values=[sdsd, asdsdf.com, jjj, hhh, 24]]";
得到 - ssdd,asdsdf.com,jjj,hhh,24使用这个 -
String result = str.split("values=[")[1].split("]")[0];
答案 2 :(得分:0)
假设你的字符串是
String str = "sdsd, asdsdf.com, jjj, hhh, 24";
你想用逗号分隔这个字符串并从中生成一个数组,你可以通过
来完成String[] strArray = str.split(", ");
现在您将获得一组字符串,如"sdsd", "asdsdf.com", "jjj", "hhh", "24"
。
答案 3 :(得分:0)
一些简单的方法可能是使用java.lang.String提供的函数。这样就可以了。
public class StringTest {
public String[] getValues(String content, String searchString) {
// where does my search String start within the content?
int valuesPosition = content.indexOf(searchString);
// we have to separate the content, we are looking for
String values = content.substring(valuesPosition + searchString.length() + 1, content.length() - 2);
// the split-Method does exactly, what we want and creates an array of our single comma separated fields
String[] singleValues = values.split(",");
return singleValues;
}
public static void main(String args[]) {
StringTest stringTest = new StringTest();
String content = "[comment=null, mapping={client_unique_id=0, email=1, first_name=2, last_name=3, batch_id=4}, recordNumber=2, values=[sdsd, asdsdf.com, jjj, hhh, 24]]";
String searchString = "values=";
String v[] = stringTest.getValues(content, searchString);
System.out.println("it contains " + v.length + " Elements:");
for (String v1 : v) {
// by the trim()- method, we eliminate white spaces.
System.out.println(v1.trim());
}
}
}
答案 4 :(得分:0)
您用逗号分隔了字符串:
str = " [comment=null, mapping={client_unique_id=0, email=1, first_name=2, last_name=3, batch_id=4}, recordNumber=2, values=[sdsd, asdsdf.com, jjj, hhh, 24]] ";
第一步:使用string.replaceAll("[[\\]]","");
删除[]
Step2:将其拆分并使其成为字符串数组。
String[] strArray = str.split(", ");
现在在第7个索引处显示String,您将得到以下内容:
String newStr = "values=[sdsd, asdsdf.com, jjj, hhh, 24]";
重复步骤1以再次删除“值”和“ []”,您将使用逗号分隔的字符串。 遵循步骤2,您将获得这些值。