待处理字符串:
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去掉,请问该怎么做,字符串是三个字段通过,号分隔。
使用的是Python,核心方法是re.sub()。
import re
s = '你上面的一串'
result = re.sub(r'(?<=,).*(?=,)', 'SM-G532F', s) # result='35364009,SM-G532F,56648'
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)