java如何通过指定的符号从字符串中获取列表?

cha*_*nyi 0 java string substring

例子我有一个字符串

"123<a>3213<b>3434343<c>,example <d><1><2><3>"

我希望通过符号获得内部文本 "<>"

如何获得列表 [a,b,c,d,1,2,3] ???

Ale*_*lex 5

您可以使用StringUtils.substringsBetween(String str,String open,String close).

String[] parts = StringUtils.substringsBetween("123<a>3213<b>3434343<c>,example <d><1><2><3>", "<", ">");
Run Code Online (Sandbox Code Playgroud)


Sot*_*lis 5

你想要之间的文字<..>.使用a PatternMatcher覆盖给定String的文本之间的文本<..>

String text = "123<a>3213<b>3434343<c>,example <d><1><2><3>";
Pattern pattern = Pattern.compile("<(.*?)>"); // reluctant quantifier
Matcher matcher = pattern.matcher(text);
List<String> entries = new LinkedList<>();
while (matcher.find()) 
    entries.add(matcher.group(1)); // group 0 is the whole match, we only want what's between <>
System.out.println(entries);
Run Code Online (Sandbox Code Playgroud)

这打印

[a, b, c, d, 1, 2, 3]
Run Code Online (Sandbox Code Playgroud)