python:如何删除字符串中特定字符后的每个字符?
我必须通过删除“U”之后的每个字符来过滤字符串变量 例如: 1) 有075600U2 我应该得到075600U (二) 有892009U24 我应该得到892009U 我试图做一个for循环,将U后面的每个字符替换为“”,但没有得到任何结果python:如何删除字符串中特定字符后的每个字符?,python,Python,我必须通过删除“U”之后的每个字符来过滤字符串变量 例如: 1) 有075600U2 我应该得到075600U (二) 有892009U24 我应该得到892009U 我试图做一个for循环,将U后面的每个字符替换为“”,但没有得到任何结果 material = '075600U2' for i in range((material.find('U')+1), len(material)): material[i].replace('') print(
material = '075600U2'
for i in range((material.find('U')+1), len(material)):
material[i].replace('')
print(material)
我预计输出为“075600U”,但实际输出为“075600U2”
有什么想法吗?这里的
re.sub
功能非常有用:
material = '075600U2'
output = re.sub(r'(?<=U).*', '', material)
print(output)
与其替换这些字符,为什么不将它们切掉呢
material = material[:material.find('U')+1]
输出
075600U
''.join(material.partition(“U”)[:2])
这项工作非常完美,没有for循环。因此,对于数据分析,它将节省大量的运行时间。谢谢
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'
import re
replaced = re.sub('U[\d]*', 'U', material)
print(replaced)
075600U