我有很多以逗号分隔的记录,如下所示:
“Alex Vestergaard”,“5”,“11”,“16395天,16小时,53分钟,31 秒“,”2014-01-03 15:22:20“,”1403“,”玛丽亚费尔南达 Luciano“,”27“,”38“,”3小时17分31秒“,”2014-01-09 04:08:24“,”1397“,”Aimee Suarez“,”1“,”1“,”33分钟,8秒“等。
我必须在每个名称之前删除逗号(在每次第6次出现[“,”]之后我想用[“”]替换[“,”])我可以使用正则表达式吗?
答案 0 :(得分:1)
替换
((?:.*?”,”){5}.*?)(”,”)
带
$1””
<强>解释强>
((?:.*?”,”){5}.*?)
- 第1组
(?:.*?”,”){5}
- 出现任意字符(但不是换行符)0次,后跟”,”
。重复整个序列5次.*?
- 懒惰地匹配任何字符的0次出现,但不匹配换行符,以便达到”,”
的第6次出现(”,”)
- 匹配并捕获第2组中的序列”,”
现在,整场比赛只不过是Group1和Group2的组合(即$1$2
)。我们只需要将此匹配替换为$1””
答案 1 :(得分:0)
可以使用正则表达式,但是一个简单的循环也可以做到这一点......
假设内容包含您的文字:
values = contents.split(',')
size = len(values)
start = 0
result = ""
while start < size:
result += ','.join(values[start, min(start+6, size)])
size += 6
return result