1 回答
TA貢獻1810條經驗 獲得超5個贊
您可以創建已知單詞的翻譯映射,然后使用已知單詞re.split拆分變量名稱,用映射單詞替換匹配項,并使用另一個正則表達式替換合并空格:
import re
known_words = '''Acct,Account
Account,Account
Num,Number
Number,Number
Payee,Payee
Pymt,Payment
Type,Type'''
variables = '''ACCOUNTNUM
ACCT_NUM
ACCTNUM
PAYEETYPE
PAYEE_TYP
PYMT_DT'''
m = {k.upper(): v for line in known_words.splitlines() for k, v in (line.split(','),)}
print([re.sub(' +', ' ', ' '.join(m.get(t, t).replace('_', '').title() for t in re.split('(%s)' % '|'.join(map(re.escape, m)), v, flags=re.IGNORECASE) if t)) for v in variables.splitlines()])
這輸出:
['Account Number', 'Account Number', 'Account Number', 'Payee Type', 'Payee Typ', 'Payment Dt']
添加回答
舉報
