enter code here
我遇到了提取字符串的问题。我想从街道名+房子中提取街道名称。问题是一些街道名称包含数字。我可以组合多个模式来提取字符串吗?
w<-c("STREET TEST 55A","Q 7 NR 50","STREET TEST TEST 55-56")
place<-c("B" "A" "C")
w<-str_replace(w,perl("^(\\b[0-9]+.*\\b) | \\b([A-Z] ?[0-9] ?N?R?)([0-9]*)\\b"),"\\1")
我想要一个载体
w<-c("STREET TEST","Q 7","STREET TEST TEST)
我也有一个矢量地方。案例Q 7 NR 50
只发生在A
但不到位B/C
提前致谢
答案 0 :(得分:1)
我假设如果最后一个单词只包含数字,那么你还需要第二个单词来制作你的姓名。如果此假设有效,则以下代码可以正常工作
w<-c("STREET TEST 55A","Q 7 NR 50","STREET TEST TEST 55-56")
library(stringr)
housename <- ifelse(nchar(gsub("[[:digit:]]","",word(w,-1)))==0
,paste(word(w,-2),word(w,-1),sep=" ")
,word(w,-1))
streetname <- str_replace_all(w,housename,"")
housename
[1]“55A”“NR 50”“55-56”
streetname
[1]“街道测试”“问题7”“街道测试”