我有一个字符串"Foo*#*Bar*#*Foo1*#*Bar1"
我想要一个正则表达式,它在使用时String.split(String RegularExpression)
会返回
[0] = "Foo";
[1] = "Bar";
[2] = "Foo1";
[3] = "Bar1";
我试过\*#*\
了,但它没有返回我想要的。
我有一个字符串"Foo*#*Bar*#*Foo1*#*Bar1"
我想要一个正则表达式,它在使用时String.split(String RegularExpression)
会返回
[0] = "Foo";
[1] = "Bar";
[2] = "Foo1";
[3] = "Bar1";
我试过\*#*\
了,但它没有返回我想要的。
for (String part:"Foo*#*Bar*#*Foo1*#*Bar1".split("\\*#\\*"))
System.out.println(part);
我们需要两个星号上的两个反斜杠(在java字符串中)。
对于你的例子,
List<String> matchList = new ArrayList<String>();
Pattern regex = Pattern.compile("\\w+");
Matcher regexMatcher = regex.matcher(subjectString);
while (regexMatcher.find()) {
matchList.add(regexMatcher.group());
}
将返回subjectString
.
或者,您可以拆分分隔符:
String[] splitArray = subjectString.split("\\*#\\*");
请注意,您必须将所有反斜杠加倍才能在 Java 字符串中使用。
String splitable= "Foo*#*Bar*#*Foo1*#*Bar1";
String[] splitted=splitable.split("\\*#\\*");