これは、分割したいサンプル文字列です。を使用してstring.split("\\|")
います。しかし、文字列自体にはダブルパイク文字があるため、そのために "" を取得しています。
|
pike OR double pikeで文字列を分割することを確認したい||
。
aaa|bbb|ccc|ddd||eee|iii||
使用できます
string.split("\\|\\|?")
は?
、2 番目のパイプをオプションにします。
以下を使用することもできます。
string.split("\\|+")
|
これは、連続して 2 つ以上ある場合は「1 つ以上」です。
発生範囲を指定できます。
"aaa|bbb|ccc|ddd||eee|iii||".split("\\|{1,2}")
代わりにこの正規表現を使用できます:-
String regex = "\\|\\|?";
str.split(regex);
これを試して:
string.split("\\|{1,2}");
// A pipe ------^ ^ ^
// once | |
// or twice |
この正規表現を試すことができます: String[] splits = yourString.split("[|||]+");
+ の後ろは、連続する区切り文字を 1 つとして扱います。これが不要な場合は、プラスを削除してください。以下に例を示します。
public class RegexTest {
public static void main(String[] args) {
String yourString = "aaa|bbb|ccc|ddd||eee|iii||";
String[] splits = yourString.split("[|||]+");
for (String split : splits) {
System.out.println(split);
}
}
}