0

"hello*world"を使用して文字列を分割しようとするたびs.split("*");に、PatternSyntaxException が発生します。

使用してみs.split("\*");ましたが、別のエラーが発生します。これは単純なことだと確信しています。

どうすればこれを止めることができますか?

4

2 に答える 2

5

*ゼロ以上の文字に一致するワイルドカード量指定子として使用される正規表現のメタ文字です

2 つのバックスラッシュ文字を使用してみてください

s.split("\\*");
于 2013-10-07T11:02:19.727 に答える
3

このsplitメソッドは、通常の文字列ではなく、正規表現を引数として取ります。は*、正規表現で特別な意味を持ちます。リテラルで分割したい場合*は、バックスラッシュでエスケープする必要があります。ただし、バックスラッシュは Java 文字列リテラルのエスケープ文字でもあるため、2 つのバックスラッシュを使用してバックスラッシュもエスケープする必要があります。

s.split("\\*")
于 2013-10-07T11:04:16.753 に答える