2016-11-18 106 views

回答

5

您還可以使用split()

>>> before, after = "Hello I am Jim!".split("I am") 
>>> before 
'Hello ' 
>>> after 
' Jim!' 
5

使用str.partition這正是這一點:

S.rpartition(sep) -> (head, sep, tail)

搜索分隔sepS,開始在S末,和之前返回部分,該分離器本身和部分在它之後。

因此,使用你的例子字符串:

before, search_str, after = "Hello I am Jim!".partition("I am ") 

現在beforesearch_strafter是:

>>> print(before) 
Hello 
>>> print(search_str) 
I am 
>>> print(after) 
Jim! 

str.partition也抓住分離你作爲中間元素返回的元組。如果你不需要,str.split(separator)就足夠了。

0

答案無非是想吸引一個好辦法,但你也可以使用Python的字符串操作找到最基本的操作來獲得同樣的觀點。

s = "Hello I am Jim!" 
print s.find('I am') 
for i in range(s.find('I am')): 
    print s[i], 
for i in range(s.find('I am')+len('I am'),len(s)): 
    print s[i], 

python team.py 
6 
H e l l o  J i m ! 

在各種不同的方式來實現,然後選擇最簡單的方法

0

這裏是另一種方式:

>>> import re 
>>> str1 = "Hello I am Jim!" 
>>> before, after = re.split(" I am ", str1) 
>>> before 
'Hello' 
>>> after 
'Jim!' 
相關問題