如果在R中应用,则替换第二个空格\n
我有一个文本向量,比如说:如果在R中应用,则替换第二个空格\n,r,regex,gsub,R,Regex,Gsub,我有一个文本向量,比如说: vector <- c("20 DE NOVIEMBRE", "CENTRO", "EL ARENAL 4A SECCION", "IGNACIO ZARAGOZA", "JARDIN BALBUENA", "MOCTEZUMA 2A SECCION", "MORELOS", "PEON DE LO
vector <- c("20 DE NOVIEMBRE", "CENTRO", "EL ARENAL 4A SECCION", "IGNACIO ZARAGOZA", "JARDIN BALBUENA", "MOCTEZUMA 2A SECCION", "MORELOS", "PEON DE LOS BAOS")
如何获得它?一种方法,使用捕获组的
sub
:
vector <- sub("^(\\S+) (\\S+) ", "\\1 \\2\n", vector)
vector
[1] "20 DE\nNOVIEMBRE" "CENTRO" "EL ARENAL\n4A SECCION"
[4] "IGNACIO ZARAGOZA" "JARDIN BALBUENA" "MOCTEZUMA 2A\nSECCION"
[7] "MORELOS" "PEON DE\nLOS BAOS"
vector您可以使用
vector <- c("20 DE NOVIEMBRE", "CENTRO", "EL ARENAL 4A SECCION", "IGNACIO ZARAGOZA", "JARDIN BALBUENA", "MOCTEZUMA 2A SECCION", "MORELOS", "PEON DE LOS BAOS")
sub("^\\S+\\s+\\S+\\K\\s+", "\n", vector, perl=TRUE)
正则表达式是^\S+\S+\S+\K\S+
(请参阅),它与
^
-字符串的开头
\S+
-1+非空白
\s+
-1+空格
\S+
-1+非空白
\K
-匹配重置运算符放弃所有到目前为止匹配的文本
\s+
-1+空格字符
vector <- sub("^(\\S+) (\\S+) ", "\\1 \\2\n", vector)
vector
[1] "20 DE\nNOVIEMBRE" "CENTRO" "EL ARENAL\n4A SECCION"
[4] "IGNACIO ZARAGOZA" "JARDIN BALBUENA" "MOCTEZUMA 2A\nSECCION"
[7] "MORELOS" "PEON DE\nLOS BAOS"
vector <- c("20 DE NOVIEMBRE", "CENTRO", "EL ARENAL 4A SECCION",
"IGNACIO ZARAGOZA", "JARDIN BALBUENA", "MOCTEZUMA 2A SECCION",
"MORELOS", "PEON DE LOS BAOS")
vector <- c("20 DE NOVIEMBRE", "CENTRO", "EL ARENAL 4A SECCION", "IGNACIO ZARAGOZA", "JARDIN BALBUENA", "MOCTEZUMA 2A SECCION", "MORELOS", "PEON DE LOS BAOS")
sub("^\\S+\\s+\\S+\\K\\s+", "\n", vector, perl=TRUE)
[1] "20 DE\nNOVIEMBRE" "CENTRO" "EL ARENAL\n4A SECCION"
[4] "IGNACIO ZARAGOZA" "JARDIN BALBUENA" "MOCTEZUMA 2A\nSECCION"
[7] "MORELOS" "PEON DE\nLOS BAOS"