0

私はこのような文字列を持っています。

ars:a:currency (Argentina!: Pesos):

コロンを使用して文字列を分割する必要がありますが、角かっこ内のコロンは分割しないでください。この文字列を分割するには正規表現が必要です。

私の出力は次のようになります

ars
a
currency (Argentina!: Pesos)**

助けていただければ幸いです:)

4

3 に答える 3

1

ネストされた括弧がないことが確実な場合は、単一の正規表現でそれを行うことができます。その場合、次の括弧が閉じ括弧でない場合にのみ、コロンで単純に分割できます。

String[] splitArray = subjectString.split(
    "(?x):    # Multiline regex: Match a colon\n" +
    "(?!      # only if it's impossible to match the following at this point:\n" +
    " [^()]*  #  any number of characters besides parentheses\n" +
    " \\)     #  followed by a closing parenthesis\n" +
    ")        # End of lookahead assertion");
于 2012-05-09T13:35:17.280 に答える
0

単一の正規表現では機能しません。あまり複雑にせずにできることはString.split("[()]")、 を使用して他のすべての配列インデックスで文字列を分割し:、最後に連結して戻すことです。

于 2012-05-09T13:30:13.947 に答える
0

おそらく、次のようなものがうまくいくでしょう:

String[] tok = str.split(":", 3);

あなたの文字列はどこstrですか。

于 2012-05-09T13:30:20.660 に答える