2016-09-30 14 views
0

是否有函數返回結束索引而不是子字符串的開始索引。例如,對於Python:從字符串的結尾開始返回索引的函數

string = 'the rain in spain stays mainly in the plain' 

string.foo('mainly ')返回31,而不必使用string.index('mainly ')+len('mainly ')

+0

可能是一個正則表達式,經過尋找空間「主要是」 –

+4

你_may_使用正則表達式或分裂完成它等。但使用'+ len()'會更簡單。你爲什麼不想用它? – Lafexlos

+0

我只是想知道是否有更清晰的方法來做到這一點,但似乎'+ len()'是最好的方法。 – will

回答

0

它可以在兩線可以輕鬆實現:

def get_sub_end(s, sub): 
    f = s.find(sub) 
    return f if f == -1 else f + len(sub) 

用法:

test_str = 'the rain in spain stays mainly in the plain' 

if __name__ == '__main__': 
    print get_sub_end(test_str, "mainly ") # >>> 31 
    print get_sub_end(test_str, "undefined ") # >>> -1 
相關問題