将字符串转换为Array并处理它

时间:2016-10-21 11:56:15

标签: java string substring

我有一个如下所示的字符串

String detail = "UserDetail: Name=TestName1, Address=India, Name=TestName2, Address=USA";

我想只获取名单。即在上面的示例中,我想删除字符串UserDetailAddress详细信息,Name获取仅包含TestName1TestName2的列表。

截至目前,我正在将字符串转换为list并执行子字符串/从列表中删除值。

我想知道还有其他有效的方法吗?

3 个答案:

答案 0 :(得分:3)

试试这个。

String detail = "UserDetail: Name=TestName1, Address=India, Name=TestName2, Address=USA";
List<String> result = new ArrayList<>();
Pattern pat = Pattern.compile("Name=(\\w+)");
Matcher matcher = pat.matcher(detail);
while (matcher.find())
    result.add(matcher.group(1));
System.out.println(result);

结果:

[TestName1, TestName2]

答案 1 :(得分:0)

应该可以使用String.split(分隔符)来完成它。 for first call use:as delimiter和ntake返回数组的第二个元素“Name = TestName1,Address = India,Name = TestName2,Address = USA” 然后拆分,(逗号) 然后循环遍历该数组并将每个元素拆分为=并获取返回数组的第二个元素,这就是您要查找的内容

答案 2 :(得分:0)

尝试模式:

    String pattern = "Name=(\\w+)";
    Pattern r = Pattern.compile(pattern);
    Matcher m = r.matcher(detail);
    List<String> result = new ArrayList<>();
    while (m.find()) {
        result.add(m.group(1));
    }