私は文字列を持っています"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";
試し\*#*\
ましたが、欲しいものが返ってこない。
両方のアスタリスクをエスケープする必要があります。
\*#\*
したがって、Javaでは次のようにします。
String[] str = mystring.split("\\*#\\*");
正規表現を試すには、 Regexr.comを試してください。
for (String part:"Foo*#*Bar*#*Foo1*#*Bar1".split("\\*#\\*"))
System.out.println(part);
両方の星に2つの円記号が必要です(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文字列で使用するには、すべての円記号を2倍にする必要があることに注意してください。
String splitable= "Foo*#*Bar*#*Foo1*#*Bar1";
String[] splitted=splitable.split("\\*#\\*");