[英]Python: getting substring starting and ending between two given substrings
教科書如何完成以下任務:
我有一個來自s_s * s_l * s_q * s_r * s_e
的字符串s,其中*
表示串聯運算符。
給定s
, s_l
和s_r
我有興趣返回s_q
,我們可以假設s_l
和s_r
在s
僅出現一次。
例如: 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_l
和s_r
只會出現一次:
s = "abcdefghij"
s_l = "cd"
s_r = "hi"
print s.split(s_l)[1].split(s_r)[0] # Returns efg
您不需要使用正則表達式,因為s_l
和s_r
是靜態的。 如果您不知道s_l
和s_r
將會是什么, s_l
不知道它們匹配某種模式,那么正則表達式可能會有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.