簡體   English   中英

Python:獲取兩個給定子字符串之間的子字符串開始和結束

[英]Python: getting substring starting and ending between two given substrings

教科書如何完成以下任務:

我有一個來自s_s * s_l * s_q * s_r * s_e的字符串s,其中*表示串聯運算符。

給定ss_ls_r我有興趣返回s_q ,我們可以假設s_ls_rs僅出現一次。

例如: s = "abcdefghij"s_l = "cd"s_r = "hi"所以s_q = "efg"

正則表達式方法在這種情況下是否合適?

In [110]: s[s.find(s_l)+len(s_l): s.find(s_r)]
Out[110]: 'efg'

您可以分割字符串,因為您知道s_ls_r只會出現一次:

s = "abcdefghij"
s_l = "cd"
s_r = "hi"

print s.split(s_l)[1].split(s_r)[0] # Returns efg

您不需要使用正則表達式,因為s_ls_r是靜態的。 如果您不知道s_ls_r將會是什么, s_l不知道它們匹配某種模式,那么正則表達式可能會有所幫助。

暫無
暫無

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

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