如何从R中的列变量中删除/提取字符串

时间:2017-03-09 17:43:46

标签: r string

我有一个包含此列的数据表

home-cat.html

我想删除字符串中的某些字符。喜欢如此: old =â,| 11,000 - â,| 20,000新= 11,000 - 20,000

我该如何解决这个问题?谢谢

2 个答案:

答案 0 :(得分:0)

你可以使用正则表达式和stringr包很容易地做这样的事情。我无法重现你粘贴的表格中的字符,但这应该会给你一个想法。

> df <- data.frame(pay_range = c("$5,000 - $10,000", "$21,000 - $30,000"))
> df %>% mutate(pay_range2 = str_replace_all(pay_range, "\\$", ""))
          pay_range      pay_range2
1  $5,000 - $10,000  5,000 - 10,000
2 $21,000 - $30,000 21,000 - 30,000

请注意,"\\$"中的斜杠是存在的,因为$被理解为正则表达式中的特殊字符。输入?stringi,然后点击链接stringi-search-regex,查看其他字符是否经过特殊处理。

答案 1 :(得分:0)

我只用3行制作了一个数据框,但效果相同。 您的数据组件也可能具有类'factor',因此您应该将其更改为如下所示的字符类,以便能够使用gsub。 gsub的功能是将前一个更改为您放入的下一个。

payrange <- data.frame(c("₦5,000 - ₦10,000","₦5,000 - ₦10,000","₦5,000 - ₦10,000"))
colnames(payrange) <- "range"

payrange$range <- as.character(payrange$range)

for (row in 1:dim(payrange)[1]){
payrange[row,] <- gsub("[â‚|]","",payrange[row,])}