使用“提取”来分割地址中的字符串时如何保留值?

问题描述 投票:0回答:1
street              housenumber
wallstreet 17-20    NULL
wafflestreet        5
extract("street", c("street", "housnumber"), "(\\D+)(\\d.*)"

输出

street         housenumber
wallstreet     17-20
NA             NA

如何获得 NA?我如何保留

wafflestreet
及其
housenumber

r string split extract
1个回答
0
投票

也许你可以尝试下面的代码

df %>%
  separate_wider_delim(street, delim = " ", names = c("street", "housenum"), too_few = "align_start") %>%
  mutate(housenum = coalesce(housenum, housenumber)) %>%
  select(-housenumber)

这给出了

# A tibble: 2 × 2
  street       housenum
  <chr>        <chr>
1 wallstreet   17-20
2 wafflestreet 5

数据

df <- data.frame(
  street = c("wallstreet 17-20", "wafflestreet"),
  housenumber = c(NA, "5")
)
© www.soinside.com 2019 - 2024. All rights reserved.