簡體   English   中英

逗號后如何保留兩個字符?

[英]How can I keep two characters after a comma?

我有都市區的數據,想提取城市信息。

一個例子是

test <- c("Akron, OH METRO AREA","Auburn, NY Micro Area","Boston-Cambridge, MA-NH")

我希望它看起來像

"Akron, OH", "Auburn, NY", "Boston-Cambridge, MA"

所以只是城市,州

一個選項是subbase R通過匹配一個或多個空間( \\\\s+其次) ,隨后DBY大寫字母( [AZ]+ ),捕獲作為一組( (...)replacement ,指定捕獲組的后向引用( \\\\1

sub("(,\\s+[A-Z]+).*", "\\1", test)
#[1] "Akron, OH"            "Auburn, NY"           "Boston-Cambridge, MA"

一個簡單的選項是stringr::str_extract

test <- c("Akron, OH METRO AREA","Auburn, NY Micro Area","Boston-Cambridge, MA-NH")
stringr::str_extract(test, "[^,]+, .{0,2}")
# [1] "Akron, OH"            "Auburn, NY"           "Boston-Cambridge, MA"

我們匹配不是逗號的任何內容,然后匹配逗號空間-然后最多兩個字符。

暫無
暫無

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

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