我想在 R 中使用 gsub() 函数做一个简单的替换。见例子:
#I want:
Huiswaard 2 Oost
Huiswaard 1 Zuid
Huiswaard 2 West
#To become:
Huiswaard-2-Oost
Huiswaard-1-Oost
Huiswaard-2-Oost
通过试错的宏伟方法,我尝试了这个:
data <- gsub('Huiswaard\\s.\\s>*', "Huiswaard-.-", df)
data <- gsub('Huiswaard\\s.\\s>*', "Huiswaard-.*-", df)
data <- gsub('Huiswaard\\s.\\s>*', "Huiswaard-(.)-", df)
data <- gsub('Huiswaard\\s.\\s>*', "Huiswaard-\\(\\)-", df)
都行不通。我最终得到这样的东西:
Huiswaard-.-West
有没有人知道如何使用 gsub 跳过替换参数中的字符?
在正则表达式中,您可以使用括号和反向引用进行分组 \\1
data <- gsub('Huiswaard\\s(\\d)\\s>*', "Huiswaard-\\1-", df)
data
[1] "Huiswaard-2-Oost" "Huiswaard-1-Zuid" "Huiswaard-2-West"
如果您想更改后缀,您还可以捕获第二个单词,\\w+
其中将捕获空格后的 1 个或多个单词字符。:
data <- gsub('Huiswaard\\s(\\d)\\s\\w+', "Huiswaard-\\1-Oost", df)
data
[1] "Huiswaard-2-Oost" "Huiswaard-1-Oost" "Huiswaard-2-Oost"
我使用这个备忘单来帮助我理解正则表达式:https : //www.rstudio.com/wp-content/uploads/2016/09/RegExCheatsheet.pdf
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句