los ^ es un carácter especial en expresiones regulares de Java: significa “coincidir con el comienzo” de una entrada.
Tendrás que escapar con "\\^". La barra doble es necesaria para escapar de la \de lo contrario, el compilador de Java pensará que está intentando usar un \^ secuencia en una cadena, similar a \n para nuevas líneas.
\^ Sin embargo, no es una secuencia de escape especial, por lo que obtendrá errores de compilación.
En resumen, utiliza "\\^".
O Pattern.quote("^").
–Andy Turner
4 oct 2021 a las 14:02
El ^ coincide con el comienzo de la cadena. Debe escapar, pero en este caso debe escapar para que el analizador de expresiones regulares comprenda lo que significa escapar del escape, por lo que:
String splitChr = "\\^";
...
debería conseguirte lo que quieres.
String.split() acepta una expresión regular. los ^ El signo es un símbolo especial que indica el comienzo de la secuencia de entrada. Tienes que escapar para que funcione. Tenías razón tratando de escapar con \ pero es un carácter especial para escapar cosas en cadenas de Java, por lo que debe escapar del carácter de escape con otro \. Te dará:
Debería imprimir “palabra1,palabra2”, dividiendo efectivamente la cadena usando "\\^". La primera barra se usa para escapar de la segunda barra. Si no hubiera doble barra, Java pensaría que ^ es un carácter de escape, como la nueva línea "\n"
karuna
Ninguna de las respuestas anteriores no tiene sentido. Aquí está la explicación correcta.
Como todos sabemos, ^ no necesita escaparse en Java String.
Como ^ es un charectar especial en RegulalExpression , espera que pases \^
¿Cómo hacemos una cadena \^ en Java? Me gusta esto String splitstr = "\\^";
¿Ha sido útil esta solución?
Tu feedback nos ayuda a saber si la solución es correcta y está funcionando. De esta manera podemos revisar y corregir el contenido.
Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos.
Configurar y más información
Utilizar
String[] fmgStrng = aryToSplit.split(Pattern.quote("^"));
– Tharusha
14 oct 2021 a las 16:01