簡體   English   中英

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

[英]python: How to delete every character after a specific character in a string?

我必須通過刪除'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”

任何想法?

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'

re.sub函數在這里很方便:

material = '075600U2'
output = re.sub(r'(?<=U).*', '', material)
print(output)

打印:

075600U

與其替換這些字符,不如將它們切成薄片?

material = material[:material.find('U')+1]
import re 
replaced = re.sub('U[\d]*', 'U', material) 
print(replaced)

輸出

075600U

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM