String[] parts = pptValue.split("{");
私の pptValue
:
pptValue = 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]);
}
}