如何从java中提取java中的逗号分隔值

时间:2016-10-28 07:22:08

标签: java string

我有一个字符串:

 [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 。 我怎么能这样做?

5 个答案:

答案 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,您将获得这些值。