如何在R或Excel中清理地址数据?



我有一个包含不必要信息的地址列表。 我想删除第一个,和第二个,之间的字符串,包括逗号。 例如:527 TEST RD, APT 22, EDINBURG, TX我想让它527 TEST RD, EDINBURG, TX

我怎样才能完成它?

在基本 R 中,可以使用sub提取两个捕获组中所需的数据。 第一个是第一个逗号之前的所有内容,第二个是在第二个逗号之后提取的。

x <- "527 TEST RD, APT 22, EDINBURG, TX"
sub("(.*?,).*?,(.*)", "\1\2", x)
#[1] "527 TEST RD, EDINBURG, TX"

Excel 解决方案

假设您的数据位于 A 列中。为了根据您的要求进行清洁,您可以在B列中使用以下公式:

=LEFT(A1,FIND(",",A1,1)-1)&", "&RIGHT(A1,LEN(A1)-FIND(",",A1,FIND(",",A1,1)+1))

首先,我们使用FIND(",",A1,1)查看第一个逗号的位置

借助LEFT函数,我们可以收集第一个逗号前面的字符串。

然后我们必须找到第二个逗号的位置FIND(",",A1,FIND(",",A1,1)(如您所见,我们需要第一个逗号的位置才能做到这一点(。

现在,我们可以使用RIGHT函数,从右侧获取文本,直到第二个逗号。

我希望这对你有所帮助。

最新更新