在字符串中第一个'反斜杠'后删除所有内容

时间:2013-06-19 09:22:35

标签: r vector gsub stringr

我有一个类似下面的矢量

vec <- c("abc\edw\www", "nmn\ggg", "rer\qqq\fdf"......)

我想在遇到第一个斜杠后立即删除所有内容,如下面的

newvec <- c("abc","nmn","rer")

谢谢。

我原来的矢量如下(只有头部)

[1] "peoria ave\nste \npeoria"                      [2]   "wood dr\nphoenix"                                  
"central ave\nphoenix"                            
[4] "southern ave\nphoenix"                         [5]   "happy valley rd\nste   
\nglendaleaz "               "the americana at brand\n americana way\nglendale"

这里的问题是我的原始csv文件不包含反斜杠,但是当我读到它时会出现反斜杠。原始csv文件如下

[1] "peoria ave               [2] "wood dr
     nste                          nphoenix"       
     npeoria"

正如您所看到的,它们实际上是由“ENTER”分隔的,但当我使用read.csv()在R中读取它们时,它们被反斜杠替换。

3 个答案:

答案 0 :(得分:4)

另一种解决方案:

 sub("\\\\.*", "", x)

答案 1 :(得分:1)

vec <- c("abc\\edw\\www", "nmn\\ggg", "rer\\qqq\\fdf")
sub("([^\\\\])\\\\.*","\\1", vec)
[1] "abc" "nmn" "rer"

答案 2 :(得分:1)

strssplit(vec, "\\\\")应该完成这项工作。

选择第一个元素[[1]][1]第二个[[1]][2]