簡體   English   中英

獲取字符串,直到遇到特定類型的字符串

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

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