我必须通过删除'U'之后的每个字符来过滤字符串变量。
例如:
1)具有075600U2
我应该得到075600U
2) 有892009U24
我应该得到892009U
我试图做一个for循环,将U之后的每个字符替换为”,但没有得到任何结果
material = '075600U2'
for i in range((material.find('U')+1), len(material)):
material[i].replace('')
print(material)
我希望输出为'075600U',但实际输出为'075600U2'
有什么主意吗?
答案 0 :(得分:1)
In [34]: material = '075600U2'
In [35]: ''.join(material.partition("U")[:2])
Out[35]: '075600U'
In [36]: material = '075600U258'
In [37]: ''.join(material.partition("U")[:2])
Out[37]: '075600U'
In [38]: material = '075600'
In [39]: ''.join(material.partition("U")[:2])
Out[39]: '075600'
答案 1 :(得分:0)
re.sub
函数在这里很方便:
material = '075600U2'
output = re.sub(r'(?<=U).*', '', material)
print(output)
此打印:
075600U
答案 2 :(得分:0)
而不是替换这些字符,为什么不将它们切成薄片呢?
material = material[:material.find('U')+1]
答案 3 :(得分:0)
import re
replaced = re.sub('U[\d]*', 'U', material)
print(replaced)
输出
075600U