我有一個由1和0組成的傳入字符串;一點一點地建成。這將在某個時候匹配兩種模式中的一種,比如說1001和0101,當它結束時,它終止搜索(這是一次迭代 - 模式將在每次迭代中變化)。在Python中測試字符串中多個字符序列
我想測試要麼模式,然後保持一個帳戶,哪一個終止字符串,所以這個迭代。然後,我需要對傳入的字符串重複該過程 - 使用不同的模式。
我已經編碼了這個,但它是醜陋的恕我直言,我敢肯定有一個更加優雅和有效的方式來做到這一點在Python(我真的是一個新手)。我這樣做是在目前的方法是這樣的:
pattern1 = getPattern1()
pattern2 = getPattern2()
while 1:
s += nextBit()
if s.count(pattern1) and s.count(pattern2):
if s.find(pattern1) < s.find(pattern2):
tot1 += 1
else:
tot2 += 1
s = ''
...
如果我已經使用過或者,下一行[s.find()...]會是一個問題。 我,因爲發現的endsWith(),但是,所以我現在有: 而不是s.endswith((模式1,模式2)): – Peter
所以,我現在有 '而不是s.endswith((模式1 ,模式2)):'' S + = nextBit()' ''' 如果s.endswith(模式1):'' ...' 我不喜歡這個的事情是,它複製一項已經實施的測試。 – Peter
不要評論你自己的問題。相反,這個問題。 – jfs