如何从字符串中获取$$ in之间的值列表(子字符串)

时间:2019-04-17 19:57:27

标签: java

我需要获取在$ $$之间编码的字符串列表。 例如, 我在Java中有如下字符串

字符串st =尊敬的$ person_name $先生,您的当前状态为$ current_status $。

我如何使用正则表达式获取列表,例如 列表= {person_name,current_status}

1 个答案:

答案 0 :(得分:0)

您可以使用"\\$.*?\\$"模式来匹配以$开头和结尾的子字符串。 然后,只需删除$,然后添加到列表中即可。

String text = "test $test1$ test2 $test3$ test4 test5 $test6$";

List<String> strList = new ArrayList<>();

String patternString = "\\$.*?\\$";

Pattern pattern = Pattern.compile(patternString);
Matcher matcher = pattern.matcher(text);

while (matcher.find()) {
    System.out.println(matcher.group(0).replace("$", ""));
    strList.add(matcher.group(0).replace("$", ""));
}