0

次のデリメータに基づいて文字列を分割する際に問題が発生しています:

    ##&&**&&##

これは私が文字列を分割しようとしている方法です:

    String[] errorDetails = errors.split("##&&**&&##");

しかし、次の例外が発生します。

    regex.PatternSyntaxException: Syntax error in regexp pattern near index 6:##&&**&&##

ここで、インデックス 6 は、"**" の後の最初の "&" として指定されています。

toString() メソッドも使用しようとしましたが、それでも同じ問題が発生します。誰でもそれを取り除く方法を教えてもらえますか。事前にサンクス。

4

3 に答える 3

1

あなたの " ##&&**&&##" は正規表現と見なされますが、有効な構文を持っているとは見なされません。以下に示すように、 「 」を正確に表す正しい構文で正規表現を使用するのはどう##&&**&&##でしょうか。

.split("[#]{2}[&]{2}[*]{2}[&]{2}[#]{2}");

それが助けになることを願っています

于 2012-10-01T13:59:20.510 に答える
1

文字 * は、正規表現で特別な意味を持ちます。特別な意味を削除するには、エスケープする必要があります。

String[] errorDetails = errors.split("##&&\\*\\*&&##");
于 2012-10-01T13:52:38.640 に答える
0

次のものを試してください:

   String[] errorsdetails = errors.split("@#$");
于 2012-10-01T13:47:15.620 に答える