python:如何删除字符串中特定字符之后的每个字符?

时间:2019-07-31 14:14:43

标签: python

我必须通过删除'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'

有什么主意吗?

4 个答案:

答案 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

https://docs.python.org/3/library/re.html