python - 正则表达式:用 "/"分割字符

标签 python regex

我有这些字符串,例如: ['2300LO/LCE','2302KO/KCE']

我想要这样的输出: ['2300LO','2300LCE','2302KO','2302KCE']

如何在 Python 中使用正则表达式来做到这一点?

谢谢!

最佳答案

您可以制作一个简单的生成器来生成每个字符串的对。然后,您可以使用 itertools.chain()

将它们展平为单个列表
from itertools import product, chain

def getCombos(s):
    nums, code = re.match(r'(\d+)(.*)', s).groups()
    for pair in product([nums], code.split("/")):
        yield ''.join(pair) 

a = ['2300LO/LCE','2302KO/KCE']

list(chain.from_iterable(map(getCombos, a)))
# ['2300LO', '2300LCE', '2302KO', '2302KCE']

这还有一个额外的好处,或者使用像 '2300LO/LCE/XX/CC' 这样的字符串,它会给你 ['2300LO', '2300LCE', '2300XX', '2300CC',...]

关于python - 正则表达式:用 "/"分割字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60699859/

相关文章:

python - 按大写字母拆分字符串但忽略 AAA Python Regex

javascript正则表达式只返回字母

css - 在 css 中使用正则表达式?

python - 在条形图 matplotlib 中设置两个轴对数

python - 如何在 PyGame 中一次播放多首歌曲?

python - 无法通过 pipelinenv 安装 html 或 re

html - 什么定义了所有非相关链接?

正则表达式匹配比特币地址?

Python - 网络WMI远程运行exe,抓取文本结果

python - 字符串编码/解码问题 - 末尾缺少字符