将字符串中字符的每个实例替换为 Sublime Text 中字符串的第一个数字

Replace each instance of a character in a string with the first number of the string in Sublime Text

这可能是一个非常模糊的请求,但我有 6,000 多行看起来像这样..

#1234 - 1,9
#5678 - 7,10,23

我需要获取 #1234(用户 ID)并将其与字符串中的每个数字配对以生成新字符串,即

#1234 - 1
#1234 - 9
#5678 - 7
#5678 - 10
#5678 - 23

如何做到这一点?这些行都因字符串

中有多少 numbers/commas 而异

如果 python 是一个选项,对于这种 特定的 情况,此代码应该有效:

from re import findall

input = """#1234 - 1,9
#5678 - 7,10,23"""
regexStr = "\d+"
for line in input.split('\n'):
    matches = findall(regexStr, line)
    for i in range(1, len(matches)):
        print("#" + matches[0] + " - " + matches[i])

输出:

#1234 - 1
#1234 - 9
#5678 - 7
#5678 - 10
#5678 - 23

要用户正则表达式替换,您可以重复此搜索和替换直到不再剩余:

搜索:

^((#[0-9]+ - )[0-9,]+),([0-9]+)$

并替换为

\n