我有一个包含不必要信息的地址列表。 我想删除第一个,
和第二个,
之间的字符串,包括逗号。 例如: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
函数,从右侧获取文本,直到第二个逗号。
我希望这对你有所帮助。