/ /不正な繰り返し - java、string

不正な繰り返し - java、string

String[] parts = pptValue.split("{");

私の pptValue

pptVa​​lue = EnvWDI {env} {client}

私のエラー:

Caught: java.util.regex.PatternSyntaxException: Illegal repetition
{
java.util.regex.PatternSyntaxException: Illegal repetition
{
at java_lang_String$split.call(Unknown Source)

どうも。

回答:

回答№1は2

中括弧を逃れる必要があると思います。 "\{".

のためのドキュメントを見てください Pattern、エスケープ文字についてのセクションを参照してください。カーテンの後ろに、 split 用途 Pattern.


回答№2の場合は3

キャラクター { で使用された場合、特別な意味を持ちます。 正規表現.

渡された文字列 String.split 正規表現として解析され、特別な意味を持つ文字をエスケープする必要があります。 "\{".

バックスラッシュ文字 特殊文字のエスケープに使用されます。として 文字列自体に特別な意味を持っているため、エスケープする必要があります。したがって、二重バックスラッシュです。


回答№3の場合は1

あなたは脱出する必要があります { それは繰り返しを定量化するために使用されるので、試してみてください:

public static void main(String[] args) {
String pptValue = "foo{bar";
String[] parts = pptValue.split("\{");
System.out.println(parts.length);
for (int i = 0; i < parts.length; i++){
System.out.println(parts[i]);
}
}