1

これは、分割したいサンプル文字列です。を使用してstring.split("\\|")います。しかし、文字列自体にはダブルパイク文字があるため、そのために "" を取得しています。

|pike OR double pikeで文字列を分割することを確認したい||

aaa|bbb|ccc|ddd||eee|iii||
4

5 に答える 5

3

使用できます

string.split("\\|\\|?")

?、2 番目のパイプをオプションにします。

以下を使用することもできます。

string.split("\\|+")

|これは、連続して 2 つ以上ある場合は「1 つ以上」です。

于 2013-03-15T03:56:53.443 に答える
2

発生範囲を指定できます。

"aaa|bbb|ccc|ddd||eee|iii||".split("\\|{1,2}")
于 2013-03-15T03:57:47.860 に答える
2

代わりにこの正規表現を使用できます:-

String regex = "\\|\\|?";
str.split(regex);
于 2013-03-15T03:58:10.343 に答える
1

これを試して:

string.split("\\|{1,2}");
// A pipe ------^ ^ ^
// once           | |
//      or twice    |
于 2013-03-15T03:59:29.300 に答える
0

この正規表現を試すことができます: 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);
        }

    }
}
于 2013-03-15T04:25:15.820 に答える