文字列問題python実装(3)
質問:C++のstrstr()関数をシミュレートする関数を書きます.この関数の戻り値は、主列の文字のサブ列の位置以降のすべての文字です.例えば、主列は「123456」で、サブ列は「234」で、関数の戻り値は「2345678」です.
python版コード:
python版コード:
# -*- coding:utf-8 -*-
# : C++ strstr() : ,
# "123456", "234", "2345678"。
# by chasdmeng
def strstr(string, strCharSet):
for i in range(len(string)):
temp = i
j = 0
if string[i] == strCharSet[j]:
while string[i] == strCharSet[j]:
i+=1
j+=1
if j == len(strCharSet)-1:
return string[i-j:]
i = temp
return None
if __name__ == '__main__':
string = "12345554555123"
strCharSet = "234"
print strstr(string, strCharSet)