簡體   English   中英

python:在一個字符后分割字符串

[英]python: split string after a character

我有一個帶有兩個“ - ”的字符串

467.2-123-hdxdlfow

我希望在第二個“ - ”之后刪除所有內容,以便我得到“467.2-123”。 做這個的最好方式是什么?

before, sep, after = theString.rpartition("-")

這會將str分成最后一次出現的“ - ”,你的答案就是before的變量。

In [6]: "-".join('467.2-123-hdxdlfow'.split('-')[0:2])
Out[6]: '467.2-123'
 >>> s = '467.2-123-hdxdlfow'
 >>> s[:s.rfind('-')]
 '467.2-123'

如果你追求的是最后一個元素,我已經修改了spicavigo的答案來排除最后一個元素。

a='467.2-123-hdxdlfow'
'-'.join(a.split('-')[:-1])
a='467.2-123-hdxdlfow'
'-'.join(a.split('-')[:2])

如果你有2' - ',你可以做到

a.rsplit('-',1)[0]

試試這個正則表達式

([^-]*-[^-]*)-.*

並詢問第一個捕獲組的結果(...)示例中為(...) )。

你可以嘗試這個result = re.sub("([^-]*-[^-]*)(-.*$)", r"\\1", '467.2-123-hdxdlfow')給出467.2-123

暫無
暫無

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

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