我想知道是否有一个正则表达式为带有数字前缀的大约1000个条目的列表添加前缀,就像这样:
现有列表:
foo
酒吧
foobar
所需的输出:
name1 = foo
name2 = bar
name3 = foobar
是否存在允许增加数字的正则表达式匹配模式?
我的搜索字段为(.+)
(带有。不匹配换行符)
替换字段为name=\1
请注意,该文件的设置类似于ini文件,因此它具有节名,例如“ [section]”,我将跳过这些行。
然后,我将使用VBscript脚本添加数字,但是我想避免使用它,并尽可能使用regex替换字符串。
答案 0 :(得分:3)
您不需要正则表达式。 Notepad ++具有“列编辑器”实用程序;您应该使用它。
答案 1 :(得分:0)
基于评论,我提出了一个VBscript来处理它。对于有相同问题的人:
Set objFS = CreateObject("Scripting.FileSystemObject")
strFile = "infile.txt"
strTemp = "outfile.ini"
Set objFile = objFS.GetFile(strFile)
Set objOutFile = objFS.CreateTextFile(strTemp,True)
Set ts = objFile.OpenAsTextStream(1,-2)
c=0
Do Until ts.AtEndOfStream
Inp = ts.ReadLine
if trim(Inp) ="" then
'nothing
elseif left(Inp, 1)<>"[" then
c=c+1
Inp="name" & Cstr(c) & "=" & Inp
else
'each section "[section]" restarts numbering
c=0
end if
objOutFile.WriteLine(Inp)
Loop
objOutFile.Close
ts.Close