这可能是一个非常模糊的要求,但我有6,000多行看起来像这样..
#1234 - 1,9
#5678 - 7,10,23
我需要取#1234(用户ID)并将其与字符串中的每个数字配对以创建新字符串,即
#1234 - 1
#1234 - 9
#5678 - 7
#5678 - 10
#5678 - 23
如何做到这一点?这些行的不同之处在于字符串中的数字/逗号数量
答案 0 :(得分:1)
对于用户正则表达式替换,您可以重复此搜索并替换,直到不再存在:
搜索:
^((#[0-9]+ - )[0-9,]+),([0-9]+)$
并替换为
$1\n$2$3
答案 1 :(得分:0)
如果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