2

我继承了一个 r 项目,该项目有一个带有截断文本字符串的数据框。根据这个论坛的一些回复,我试过了

temp$taname2 <- gsub("\bDistr\b", "District", temp$taname2)

这没有用。我试过

temp$taname2 <- gsub("Distr", "District", temp$taname2)

但这导致已经包含单词“District”的行被更改为“Districtic”、“Districtict”或类似的。我也试过

temp$taname2[grep("\bDistr\b",temp$taname2)] <- "District"

但是,唉,没有运气。

我意识到答案非常简单,但我无法弄清楚如何去做。

提前致谢。

4

2 回答 2

2

您需要使用正则表达式以及 gsub 函数。我认为这个问题在这里得到了回答:In R, replace text within a string

希望这可以帮助。

于 2013-08-06T01:13:19.373 回答
0

使用stringi包:

require(stringi)

mydf<-data.frame(c("\bDistr\b", "\bDistr\b", "\bDistr\b", "\bDistr\b"))
stri_replace_all(mydf[,1], "", fixed="\b")
[1] "Distr" "Distr" "Distr" "Distr"
于 2015-11-22T07:51:52.470 回答