[英]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.