che non ha molto senso. La stringa originale utilizza caratteri unicode ed è uguale a ThinkPad
. Quindi non c'è nessuna barra da rimuovere comunque.
In altre parole, il codice qui sotto stamperà ThinkPad
due volte:
public static void main(String args[]) {
String str = "\u0054\u0068\u0069\u006e\u006b\u0050\u0061\u0064";
System.out.println(str);
String[] strArray = str.split("\\\\");
System.out.println(Arrays.toString(strArray));
}
O ancora più chiaro, il codice qui sotto stampa vera:
public static void main(String args[]) {
String str = "\u0054\u0068\u0069\u006e\u006b\u0050\u0061\u0064";
String str2 = "ThinkPad";
System.out.println(str == str2);
}
capito. grazie mille – evilYoung
Non c'è nessuna barra nella stringa originale. – assylias
@assylias sì non c'è nessuna barra nella stringa originale. Ma l'eccezione che viene segnalata è a causa della regex non valida. –