String[] parts = pptValue.split("{");
W moim pptValue
:
pptValue = EnvWDI {env} {client}
Mój błąd:
Caught: java.util.regex.PatternSyntaxException: Illegal repetition
{
java.util.regex.PatternSyntaxException: Illegal repetition
{
at java_lang_String$split.call(Unknown Source)
Dzięki.
Odpowiedzi:
2 dla odpowiedzi № 1Myślę, że musisz uciec przed kręconymi klamrami, jak w "\{"
.
Spójrz na dokumenty dla Pattern
, w sekcji o ucieczce postaci. Za zasłonami, split
używa Pattern
.
3 dla odpowiedzi № 2
Charakter {
ma specjalne znaczenie w przypadku użycia w Wyrażenie regularne.
Ciąg przekazywany do String.split
jest parsowany jako wyrażenie regularne i będziesz musiał unikać znaków o specjalnym znaczeniu, np. "\{"
.
The ukośny znak służy do unikania znaków specjalnych. Jako ma specjalne znaczenie samo w łańcuchach, musi również zostać usunięte, stąd podwójny ukośnik odwrotny.
1 dla odpowiedzi nr 3
Musisz uciec {
ponieważ służy do ilościowego określenia powtórzenia, spróbuj:
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]);
}
}