myString.split("something")
を使用して文字列を分割できることを知っています。しかし、文字列を2つの区切り文字で分割する方法はわかりません。
例:
mySring = "abc==abc++abc==bc++abc";
次のようなものが必要です。
myString.split("==|++")
RegularExpressionとは何ですか?
これを使って :
myString.split("(==)|(\\+\\+)")
2つの部分文字列を使用して分割する必要がある場合の方法:
String mainString = "This is a dummy string with both_spaces_and_underscores!"
String delimiter1 = " ";
String delimiter2 = "_";
mainString = mainString.replaceAll(delimiter2, delimiter1);
String[] split_string = mainString.split(delimiter1);
2番目の区切り文字のすべてのインスタンスを最初に置き換え、最初の区切り文字に分割します。
注:replaceAll
を使用すると、delimiter2
に正規表現を使用できます。したがって、実際にdelimiter2
のすべての一致をdelimiter1
の正規表現に一致する文字列に置き換える必要があります。
これを使用できます
mySring = "abc==abc++abc==bc++abc";
String[] splitString = myString.split("\\W+");
正規表現\ W + --->非単語文字に基づいて文字列を分割します。
これを試して
String str = "aa==bb++cc";
String[] split = str.split("={2}|\\+{2}");
System.out.println(Arrays.toString(split));
答えは
[aa, bb, cc]
{2}は、処理文字の2文字と一致します。 =または+(エスケープ)のいずれかです。両側に一致
\ in Javaをエスケープしているので、正規表現は実際に={2}|\+{2}