[英]Get string until a particular type of string is encountered
我對python和整個編程還很陌生。 只是要學習我的ABC。 假設我有一個像這樣的字符串。
s = "DEALER:'S up, Bubbless? BUBBLES: Hey. DEALER: Well, there you go. JUNKIE: Well, what you got?DEALER: I got some starters.";
我希望在遇到結尾帶有大寫字母和冒號(:)的單詞時結束字符串。 然后創建一個新的字符串來存儲另一個字符串。 對於上面的字符串,我會得到
s1 = "DEALER:'S up, Bubbless?
s2 = "BUBBLES: Hey."
s3 = "DEALER: Well, there you go."
等等..
這是我獲取此類單詞的正則表達式代碼。
p = re.compile('([A-Z]*):')
s = set(p.findall(l))
我已經堅持了一段時間。 我嘗試谷歌搜索,但無濟於事。 任何幫助將不勝感激。 謝謝。
這是您需要的正則表達式:
[AZ]+:.*?(?=[AZ]+:|$)
各部分的說明:
[AZ]+:
匹配揚聲器 .*?
符合他們說的話; 使用?
(非貪婪),因此僅與下一位講話者匹配 (?=[AZ]+:|$)
斷言,在講話者的行之后,我們有下一個講話者或字符串的末尾( (?=)
是一個正向超前,它僅進行斷言而不會放入匹配的字符串)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.