簡體   English   中英

全局替換許多模式以進行許多替換

[英]Globally substitute many patterns for many replacements

R中,我們可以使用gsub將向量中的一種模式全局替換為另一種模式。 但是,如果我想用許多模式替換許多模式,我該怎么做。 例如:-

a <- c("AV. Reg", "AVENUE Reg", "Bld. Aze", "BOUlevard Aze", "Str. Fsd", "Strasse FSD", "R. Ger", "RUE Ger")

現在我想替換以下內容:-

pattern    replacement
AV.        Avenue
AVENUE     Avenue
Bld.       Boulevard
BOUlevard  Boulevard
Str.       Strasse
R.         Rue
RUE        Rue

我可以將patternreplacement定義為兩個向量並通過全局替換來replacement pattern嗎?

提前致謝。

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)

注意 \ 是為了轉義“.”。 特殊字符(您可以檢查如果刪除它們會發生什么)。 另外,我改變了你的 BLD。 到大廈。 因為我想這就是你的意思

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM