如何使用单词列表中的任何单词分割字符串
我有一个字符串列表
l = ['IV', 'IX', 'XL', 'XC', 'CD', 'CM']
我需要基于此列表拆分“ XCVI”,例如
'XC-V-I'
答案 0 :(得分:1)
这是一个解决方案,但我不确定这是否是最好的方法:
def split(s, l):
tokens = []
i = 0
while i < len(s):
if s[i:i+2] in l:
tokens.append(s[i:i+2])
i += 2
else:
tokens.append(s[i])
i += 1
return '-'.join(tokens)
其中s
是输入字符串,例如"XCVI"
。
结果:
l = ['IV', 'IX', 'XL', 'XC', 'CD', 'CM']
>>> split('XCVI', l)
XC-V-I
>>> split('IXC', l)
IX-C
>>> split('IXXC', l)
IX-XC