用python解码列表

2024-09-30 02:28:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个python列表

['Deals', "\\\\xe2\\\\x98\\\\x85What\\\\\\'s New\\\\xe2\\\\x98\\\\x85", '\\\\xc3\\\\x80la carte & Value Meals', 'Crispy Chicken', 'Share Box', 'Happy Meals', 'Desserts', 'McCafe\\\\xc3\\\\xa9', 'Beverages', 'Side Lines', 'Snack Time']

我想把它像"\\\\xe2\\\\x98\\\\x85What\\\\\\'s New\\\\xe2\\\\x98\\\\x85", '\\\\xc3\\\\x80la carte & Value Meals','McCafe\\\\xc3\\\\xa9''What's New, la carte & Value Meals,McCafe'一样解码 所需的输出没有任何结束编码(\\x98) 期望输出:

['Deals', "What's New", 'la carte & Value Meals', 'Crispy Chicken', 'Share Box', 'Happy Meals', 'Desserts', 'McCafe', 'Beverages', 'Side Lines', 'Snack Time']

Tags: sharenewvaluexe2crispychickenx98meals
1条回答
网友
1楼 · 发布于 2024-09-30 02:28:34

您可以使用内置模块^a1}:

import re
l = ['Deals', "\\\\xe2\\\\x98\\\\x85What\\\\\\'s New\\\\xe2\\\\x98\\\\x85", '\\\\xc3\\\\x80la carte & Value Meals', 'Crispy Chicken', 'Share Box', 'Happy Meals', 'Desserts', 'McCafe\\\\xc3\\\\xa9', 'Beverages', 'Side Lines', 'Snack Time']
l = [re.sub(r'x\S\d',' ',s).replace('\\','').strip() for s in l]
print(l)

输出:

['Deals', "What's New", 'la carte & Value Meals', 'Crispy Chicken', 'Share Box', 'Happy Meals', 'Desserts', 'McCafe', 'Beverages', 'Side Lines', 'Snack Time']

re.sub(r'x\S\d',' ',s)将返回字符串s,其中每3个相邻字符在此模式中:

xany character that's not a spacenumber

替换为一个空格

相关问题 更多 >

    热门问题