正则表达式 – 如何在R中使用子函数

前端之家收集整理的这篇文章主要介绍了正则表达式 – 如何在R中使用子函数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在R中读一个csv文件“dopers”

dopers <- read.csv(file="generalDoping_alldata2.csv",head=TRUE,sep=",")

读完文件后,我必须做一些数据清理.例如,如果它在国家专栏中

“美国”或“美国”

我想用“USA”代替它

我想确保,如果这个词是“美国”或“美国”,即使他们我的代码也应该有用.我想说的是,即使“美国”之前和之后有任何角色,它也会被“美国”取代.我知道我们可以为此目的使用sub()函数.我在网上找到了这个,但是我不明白什么是“^”“&” “*”“.”确实.有人可以解释一下.

dopers$Country = sub("^UNITED STATES.*$","USA",dopers$Country)

解决方法

举个例子,

s <- c(" United States"," United States ","United States ")

您可以定义与之匹配的正则表达式模式

pat <- "^.*United State.*$"

这里,^表示字符串的开头和$结尾
.代表任何字符,*定义重复(零到任意).您可以尝试修改模式,例如

pat <- "^[ ]*United State[ ]*$" # only ignores spaces
pat <- "^.*(United State|USA).*$" # only matches "  USA" etc.

然后通过执行替换

gsub(pat,s)

猜你在找的正则表达式相关文章