[英]Globally substitute many patterns for many replacements
In R
, we can use gsub
to globally substitute one pattern by another pattern in a vector.在
R
中,我们可以使用gsub
将向量中的一种模式全局替换为另一种模式。 However, if I want to substitute many patterns for many pattern, how can I do this.但是,如果我想用许多模式替换许多模式,我该怎么做。 For ex:-
例如:-
a <- c("AV. Reg", "AVENUE Reg", "Bld. Aze", "BOUlevard Aze", "Str. Fsd", "Strasse FSD", "R. Ger", "RUE Ger")
Now I want to substitute the following:-现在我想替换以下内容:-
pattern replacement
AV. Avenue
AVENUE Avenue
Bld. Boulevard
BOUlevard Boulevard
Str. Strasse
R. Rue
RUE Rue
Can I define pattern
and replacement
as two vectors and substitute pattern
by replacement
globally.我可以将
pattern
和replacement
定义为两个向量并通过全局替换来replacement
pattern
吗?
Thanks in advance.提前致谢。
a <- c("AV. Reg", "AVENUE Reg", "Bld. Aze", "BOUlevard Aze", "Str. Fsd", "Strasse FSD", "R. Ger", "RUE Ger")
pattern <- c("AV\\.","AVENUE","Bld\\.","BOUlevard", "Str\\.","R\\.","RUE")
replacement <- c("Avenue","Avenue","Boulevard","Boulevard","Strasse","Rue","Rue")
for(i in seq(pattern))
a <- gsub(pattern[i], replacement[i], a)
Note the \ is to escape the "."注意 \ 是为了转义“.”。 special character ( you can check what happens if you remove them).
特殊字符(您可以检查如果删除它们会发生什么)。 Also, I changed your BLD.
另外,我改变了你的 BLD。 to Bld.
到大厦。 cause I guess that what you meant
因为我想这就是你的意思
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.