2012-05-22 9 views

Respuesta

38

El ^ es un carácter especial en Java regex, significa "coincidir con el comienzo" de una entrada.

Tendrá que escapar con "\\^". La barra doble es necesaria para escapar del \, de lo contrario el compilador de Java pensará que está intentando usar una secuencia especial \^ en una cadena, similar a \n para líneas nuevas.

aunque no es una secuencia de escape especial, por lo que obtendrá errores de compilación.

En resumen, use "\\^".

+0

Niza - 1 de mí. – duffymo

+0

¡Bingo! explicación clara, @birryree THX THX –

0

El^coincide con el inicio de la cadena. Es necesario para escapar de ella, pero en este caso lo que necesita para escapar de ella para que el analizador de expresiones entiende que significa escapar de la fuga, por lo que:

String splitChr = "\\^"; 
... 

debe conseguir lo que quiere.

0

String.split() acepta una expresión regular. El signo ^ es un símbolo especial que indica el comienzo de la secuencia de entrada. Necesitas escapar para que funcione. Intentaste escapar con \, pero es un personaje especial para escapar de las cadenas de Java, por lo que debes escapar del carácter de escape con otro \. Le dará:

\\^ 
0

use "\\^". Utilizar este ejemplo como guía:

String aryToSplit = "word1^word2"; 
    String splitChr = "\\^"; 
    String[] fmgStrng = aryToSplit.split(splitChr); 
    System.out.println(fmgStrng[0]+","+fmgStrng[1]); 

Debe imprimir "palabra1, palabra2", dividiendo efectivamente la cadena mediante "\\^". La primera barra inclinada se usa para escapar de la segunda barra inclinada. Si no hubiera doble barra, Java pensaría que^era un carácter de escape, como la nueva línea "\n"

+0

@Basilio alemán apreciar el ejemplo de código, desearía poder dar dos respuestas correctas –

0

Ninguna de las respuestas anteriores no tiene sentido. Aquí está la explicación correcta.

  1. Como todos sabemos,^no necesita ser escapado en Java String.
  2. Como^es un charectar especial en RegulalExpression, espera que pase \^
  3. ¿Cómo hacemos string \^en java? Me gusta esto Cadena splitstr = "\ ^"

Háganme saber que esta explicación ayuda. Tenga cuidado con los errores tipográficos si los hubiera.

Gracias -karuna

+0

corrección ==> gusta esta splitstr String = "\\ ^" – Karuna

+1

En lugar de un comentario, editar su respuesta en vez – LittleBobbyTables

-2
String[] fmgStrng = aryToSplit.split("\\\^"); 
Cuestiones relacionadas