Tengo una oración general
\r\n sth ~ sth\r\nsth ~ sth ~ \r\n
Lo que quiero hacer es simplemente hacer \ r \ n nada como ""
Entonces el resultado es
\r\n sth ~ sthsth ~ sth ~ \r\n
Si uso regex
gsub("\\S\r\n\\S","\\S\\S",string)
Entonces el resultado es (el ejemplo es rolling \ r \ nstones)
\r\n sth ~ rollinSStones ~ sth ~ \r\n
¿Hay algún método para dejar la cadena?
\r\n sth ~ rollingstones ~ sth ~ \r\n
Necesito una solución general para dejar el otro \ r \ n solo \ r \ n
Gracias por leer.
3 respuestas
Puede usar \\b
en lugar de \\S
:
gsub("\\b\r\n\\b", "", "\r\n sth ~ sth\r\nsth ~ sth ~ \r\n")
#[1] "\r\n sth ~ sthsth ~ sth ~ \r\n"
O acercarse a lo que podría haber deseado con gsub("\\S\r\n\\S","\\S\\S",string)
gsub("(\\S)\r\n(\\S)", "\\1\\2", "\r\n sth ~ sth\r\nsth ~ sth ~ \r\n")
#[1] "\r\n sth ~ sthsth ~ sth ~ \r\n"
Puede usar gsub
con doble referencia:
gsub("(sth)\r\n(sth)", "\\1\\2", string)
#[1] "\r\n sth ~ sthsth ~ sth ~ \r\n"
\\1
captura el primer grupo de captura, que es (sth)
\\2
captura el segundo grupo de captura, que es (el segundo) (sth)
Podemos usar regex positivo de lookahead y lookbehind:
string <- '\r\n sth ~ sth\r\nsth ~ sth ~ \r\n'
gsub("(?<=\\S)\r\n(?=\\S)","",string, perl = TRUE)
#[1] "\r\n sth ~ sthsth ~ sth ~ \r\n"
Podemos usar la misma expresión regular en str_remove
de stringr
stringr::str_remove(string, '(?<=\\S)\r\n(?=\\S)')
Esto eliminará solo '/r/n'
de la cadena donde no le sigue un espacio en blanco manteniendo el carácter que no es un espacio en blanco tal como está.
Preguntas relacionadas
Nuevas preguntas
r
R es un entorno de software y lenguaje de programación de código abierto y gratuito para computación estadística, bioinformática, visualización y computación en general. Proporcione ejemplos mínimos y reproducibles junto con el resultado deseado. Use dput () para los datos y especifique todos los paquetes no base con llamadas a library (). No incruste imágenes para datos o código, use bloques de código con sangría en su lugar. Para preguntas relacionadas con estadísticas, use https://stats.stackexchange.com.