我有一个包含街道地址的数据集,它们的格式非常不同。例如:
d <- c("street1234", "Street 423", "Long Street 12-14", "Road 18A", "Road 12 - 15", "Road 1/2")
我想要从这个内容中创建两列。 1. X: 包括街道地址 2. Y: 包括数字和其后的所有内容。就像这样:
X Y
Street 1234
Street 423
Long Street 12-14
Road 18A
Road 12 - 15
Road 1/2
到目前为止,我已经尝试了strsplit并遵循了一些类似的问题,例如:strsplit(d, split = "(?<=[a-zA-Z])(?=[0-9])", perl = T))
。我似乎找不到正确的正则表达式。
非常感谢任何帮助。提前致谢!
do.call('rbind', strsplit(d, split = "(?<=[a-zA-Z])\\s*(?=[0-9])", perl = TRUE))
- Sathish