Python 删除“之间的空格”&引用;在列表中
我在下面尝试过,但似乎每个空间都是组合的Python 删除“之间的空格”&引用;在列表中,python,Python,我在下面尝试过,但似乎每个空间都是组合的 results = [['my name is', 'my name is "Joe A"', 'my name is "Kim S"', 'my name is "Sam K"', 'my name is "Paul F"']] 我期望的结果是 result = [["".join("".join(sub).split())] for sub in results] 我只想删除“”和小写之间的空格,使其从“JoeA”变为“JoeA”。您可以在您的案
results = [['my name is', 'my name is "Joe A"', 'my name is "Kim S"', 'my name is "Sam K"', 'my name is "Paul F"']]
我期望的结果是
result = [["".join("".join(sub).split())] for sub in results]
我只想删除“”和小写之间的空格,使其从“JoeA”变为“JoeA”。您可以在您的案例中使用正则表达式,它提取
”
中的值(双引号)将它们格式化为所需的格式:
result = [['my name is', 'my name is "joea"', 'my name is "kims"', 'my name is "samk"', 'my name is "paulf"']]
代码:
re.sub(r'"(\w+)(\s(\w+))*"', '"\\1\\3"', x.lower())
您可以在案例中使用regex,它提取
“”
(双引号)中的值,并将其格式化为所需的格式:
result = [['my name is', 'my name is "joea"', 'my name is "kims"', 'my name is "samk"', 'my name is "paulf"']]
代码:
re.sub(r'"(\w+)(\s(\w+))*"', '"\\1\\3"', x.lower())
我会采用最具python风格的方式,即列表理解:
import re
results = [['my name is', 'my name is "Joe A"', 'my name is "Kim S"', 'my name is "Sam K"', 'my name is "Paul F"']]
print([re.sub(r'"(\w+)(\s(\w+))*"', '"\\1\\3"', x.lower()) for x in results[0]])
# ['my name is', 'my name is "joea"', 'my name is "kims"', 'my name is "samk"', 'my name is "paulf"']
我会采用最具python风格的方式,即列表理解:
import re
results = [['my name is', 'my name is "Joe A"', 'my name is "Kim S"', 'my name is "Sam K"', 'my name is "Paul F"']]
print([re.sub(r'"(\w+)(\s(\w+))*"', '"\\1\\3"', x.lower()) for x in results[0]])
# ['my name is', 'my name is "joea"', 'my name is "kims"', 'my name is "samk"', 'my name is "paulf"']
如果“我的名字是”不一致怎么办?例如,可以是“她的名字是”或“他的名字是”,并且可以更改。如果“我的名字是”不一致怎么办?例如,可以是“她的名字是”或“他的名字是”,并且可以更改。如果是“Joe A G”,您希望将“joeag”和“KIM S F”改为“kimsf”,该怎么办?中间的首字母似乎被截断了。当它是“Joe A G”时,你想把“joeag”和“KIM S F”改为“kimsf”呢?看起来中间的首字母被截断了。