Python从字符串中删除动态子字符串

时间:2018-06-26 19:47:46

标签: python regex string

我需要从字符串中删除动态子字符串。例如:

Item value1="001" value2="abc" value3="123xyz"

我需要输出:

Item value1="001"  value3="123xyz"

我的意思是我需要删除value2 =“ abc”。 value2是一个唯一元素,可以放在原始字符串的任何位置。 “ abc”是动态变量,可以具有各种长度。解决这个问题最快的方法是什么?谢谢。

2 个答案:

答案 0 :(得分:1)

在这种情况下,

regex应该非常快:

import re
p = re.compile(r'value2="\w+"\s?')
re.sub(p, '', 'Item value1="001" value2="abc" value3="123xyz"')

以上假设value2的值仅包含字母(即没有数字或空格字符

答案 1 :(得分:1)

您可以尝试列表理解

a='Item value1="001" value2="abc" value3="123xyz"'
print(' '.join([e for e in a.split(" ") if not e.startswith('value2="')]))
相关问题