it-swarm-pt.tech

Como dividir a string usando '^' esse caractere especial em java?

Eu quero dividir a seguinte string "Good ^ Evening", usei a opção split, não é dividir o valor. por favor me ajude.

Isto é o que eu tenho tentado:

String Val = "Good^Evening";
String[] valArray = Val.Split("^");
12
Manohar Kulanthai vel

Estou assumindo que você fez algo como:

String[] parts = str.split("^");

Isso não funciona porque o argumento para split é realmente um expressão regular , onde ^ tem um significado especial. Tente isso:

String[] parts = str.split("\\^");

O \\ é realmente equivalente a um único \ (o primeiro \ é necessário como um Java em literais de cadeias). É então um caractere especial em expressões regulares que significa "use o próximo caractere literalmente, não interprete seu significado especial".

32
Oliver Charlesworth

O regex que você deve usar é "\ ^", que você escreve como "\\^" como um Java String literal; ou seja,.

String[] parts = "Good^Evening".split("\\^");

O regex precisa de um escape '\' porque o caractere de sinal de intercalação ('^') é um metacaractere no idioma do regex. O segundo escape '\' é necessário porque '\' é um escape em um literal String.

7
Stephen C

tente isso

String str = "Good^Evening";
String newStr = str.replaceAll("[^]+", "");
0
Prasad De Silva