如何删除R中字符串中的正则表达式?

时间:2012-12-13 20:35:18

标签: regex string r

字符串为"\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tLocation\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tSan Francisco, CA;Oakland, CA",我希望它显示为"Location","San Francisco, CA;Oakland, CA"

这是否有功能?谢谢!

2 个答案:

答案 0 :(得分:6)

您可以使用正则表达式删除特殊字符:

x <-"\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tLocation\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tSan Francisco, CA;Oakland, CA"

gsub('[\r\n\t]', '', x)

但是,如果你真的有一个包含所有\字符串的字符串,答案会变得更像:

gsub('\\\\[a-z]', '', x)

答案 1 :(得分:2)

目前尚不清楚是否要将字符串的两个部分分开或不分开。如果你这样做,你可以使用:

test <- c("\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tLocation\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\tSan Francisco, CA;Oakland, CA")
result <- unlist(strsplit(test,"\\r|\\n|\\t"))
result <- result[result!=""]
result
[1] "Location"                      "San Francisco, CA;Oakland, CA"