我想知道是否有办法在使用 for 循环遍历字符串时删除字符串的一部分并用它做其他事情。
基本上,我想以一个字符串“first portion|middle|,end”开始,以两个字符串结束。 “缓冲区”变量应包含“第一部分,结尾”,第二个字符串应包含“|中间|”
word = "first portion|middle|,end"
buffer = ''
for i in word:
if i == '|':
# Loop in here until another pipeline is found while saving each character
else:
buffer += i
我已经有一个程序可以解析原始字符串并组织它,所以理想情况下我只想在 for 循环中有一个 if 语句,它将删除管道之间的任何内容并保存它。如果这不可能,我将重写程序以允许我也这样做。
最佳答案
你在找str.split()
吗功能 ?
您可以将 PIPE 字符传递给它,它会在找到 |
的地方拆分字符串并返回拆分字符串列表。示例 -
>>> word = "first portion|middle|,end"
>>> word.split('|')
['first portion', 'middle', ',end']
然后,如果您确定总是只有三个元素,则获取第一个和第三个元素,并将它们连接起来作为您想要的第一个字符串结果,然后使用第二个元素作为第二个结果。示例 -
>>> word = "first portion|middle|,end"
>>> l = word.split('|')
>>> result1 = l[0] + l[2]
>>> result2 = l[1]
>>> result1
'first portion,end'
>>> result2
'middle'
关于Python - 有一个具有相同变量的子循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31873317/