通过正则表达式替换正则表达式问题190220

待处理字符串:
35364009,Mozilla/5.0 (Linux; Android 6.0.1; SM-G532F Build/MMB29T; wv) AppleWebKit/537.36 (KHTML; like Gecko) Version/4.0 Chrome/56.0.2924.87 Mobile Safari/5
37.36 YandexSearch/4.99,56648

我想将上面那个字符串通过正则表达式替换成:
35364009,SM-G532F,56648

将Mozilla/5.0 (Linux; Android 6.0.1; 和 Build/MMB29T; wv) AppleWebKit/537.36 (KHTML; like Gecko) Version/4.0 Chrome/56.0.2924.87 Mobile Safari/5
37.36 YandexSearch/4.99去掉,请问该怎么做,字符串是三个字段通过,号分隔。

2个回答

使用的是Python,核心方法是re.sub()。

import re 
s = '你上面的一串'
result = re.sub(r'(?<=,).*(?=,)', 'SM-G532F', s) #  result='35364009,SM-G532F,56648'
TheManOfCoding
TheManOfCoding 我已经解决了,跟你这个思路差不多。感谢大佬!
大约一年之前 回复

import re
str = '''35364009,Mozilla/5.0 (Linux; Android 6.0.1; SM-G532F Build/MMB29T; wv) AppleWebKit/537.36 (KHTML; like Gecko) Version/4.0 Chrome/56.0.2924.87 Mobile Safari/537.36 YandexSearch/4.99,56648'''
a = re.findall("(.*?\,).*?\;.*?\;(.*)Build.*\,(.*)", str)
print(a)

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问