如何使用单词列表中的任何单词拆分字符串

时间:2019-03-08 14:36:45

标签: python-3.x

如何使用单词列表中的任何单词分割字符串

我有一个字符串列表 l = ['IV', 'IX', 'XL', 'XC', 'CD', 'CM']

我需要基于此列表拆分“ XCVI”,例如 'XC-V-I'

1 个答案:

答案 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