Я пытаюсь удалить все несимволы и все символы, которые следуют за теми же символами из строки.Python regex удалить двойной символ из строки
Пример ввода «ABBBbcCCCCCD EF ZZZU» должен стать «ABCDDEFZU». В функции filter2 я пытаюсь записать двухзначную пару , так что я могу сравнить две буквы. Но я только сопоставляю настоящее совпадающее письмо, а не взгляд за буквой.
#!/usr/bin/python
# coding: latin-1
import re
testfield = 'ABBBbbcCCCD EF ZZZU'
def filter1(matchobj):
return ''
def filter2(matchobj):
print('MATCH:' + matchobj.group(0))
return matchobj.group(0)
print(testfield)
testfield2 = re.sub('[^A-Z0-9]', filter1, testfield, flags=re.IGNORECASE)
print(testfield2)
testfield2 = re.sub('[A-Z0-9](?=[A-Z0-9])', filter2, testfield2, flags=re.IGNORECASE)
Как передать оба письма функции filter2 но до сих пор находят все возможные совпадения? print (testfield2)
http://stackoverflow.com/questions/17885329/regex-to-remove-duplicate-letters – cherhan
Как этот вход «ABBBbccCCCD EF ZZZU» станет «ABCDDEFZU», откуда приходит 2 D. –
@yoyi - потому что это было сделано вручную ... (я взял D) – 576i