如果有人回答了这个问题,我很抱歉,但我似乎找不到一个能解决这个问题的答案。下面是我使用的数据的一个小样本:
precinct_no,newsom_count,dahle_count,difference
0001-100000-SAN PASQUAL,5,18,-13
0002-100090-SAN PASQUAL,567,622,-55
0003-100120-SAN PASQUAL,0,0,0
0004-100150-SAN PASQUAL,0,0,0
0005-105000-RANCHO BERNARDO,572,538,34
0006-105040-RANCHO BERNARDO,609,582,27
在precinct_no列中,如何删除除中间六位数字之外的所有内容?我不需要开头的四位数字、结尾的城镇名称或破折号。只需要中间六位数字。我需要对大约3,000行执行此操作。
2条答案
按热度按时间e37o9pze1#
如果格式在大约3000行中是一致的,也许这会起作用:
创建于2022年11月30日,使用reprex v2.0.2
说明:
"[^-]*-(\\d{6})-.*"
[^-]*-
匹配一个或多个非“-"字符,然后匹配单个“-”(\\d{6})
捕获此“中间”组(6位数)-.*"
匹配单个“-",后跟任意数量的任意字符zhte4eai2#
我喜欢
extract
这样的东西。你可以只从中间拉出来,也可以把所有东西分开来保存所有永久的信息:或者如果你不喜欢regex,只想在“-"上拆分:
或者,如果您不喜欢regex,而希望保留基数R: