string - special - Ignorar los caracteres de escape(barras invertidas) en cadenas R
special characters python (3)
Primero necesitas asignarlo a un nombre:
pathname <- ''C://Users//mhermans//somefile.csv''
Tenga en cuenta que para obtener un vector de nombre necesitaba duplicarlos a todos, lo que da una idea de cómo podría usar expresiones regulares:
gsub("////", "/", pathname)
# [1] "C:/Users/mhermans/somefile.csv"
Necesitabas doblemente doblar las barras invertidas. El primero de cada par de s es indicar a la máquina grep que lo que sigue es un literal.
Al ejecutar un complemento R en SPSS, recibo una cadena de ruta de Windows como entrada, por ejemplo,
''C:/Users/mhermans/somefile.csv''
Me gustaría usar esa ruta en el código R posterior, pero luego las barras diagonales deben reemplazarse con barras diagonales, de lo contrario, R lo interpreta como escapes (por ejemplo, "/ U usado sin dígitos hexadecimales").
Sin embargo, no he podido encontrar una función que pueda reemplazar las barras diagonales inversas con barras diagonales o doble escape de ellas. Todas esas funciones asumen que esos personajes son escapados.
Entonces, ¿hay algo en la línea de:
>gsub(''//', ''/'', ''C:/Users/mhermans'')
C:/Users/mhermans
Puede intentar usar el argumento ''allowEscapes'' en scan ()
X=scan(what="character",allowEscapes=F)
C:/Users/mhermans/somefile.csv
print(X)
[1] "C://Users//mhermans//somefile.csv"
Si el archivo E: / Data / junk.txt contiene el siguiente texto (sin comillas): C: / Users / mhermans / somefile.csv
Puede recibir una advertencia con la siguiente declaración, pero funcionará:
texinp <- readLines("E://Data//junk.txt")
Si el archivo E: / Data / junk.txt contiene el siguiente texto (con comillas): "C: / Users / mhermans / somefile.csv"
La declaración de readlines anterior también puede darte una advertencia, pero ahora contendrá:
"/" C: / Users / mhermans / somefile.csv / ""
Entonces, para obtener lo que desea, asegúrese de que no haya comillas en el archivo entrante y use:
texinp <- suppressWarnings(readLines("E://Data//junk.txt"))