Page 1 of 1
regexreplace help
Posted: 07 Sep 2016, 03:10
by noname
Code: Select all
data=
(
F:\korean drama\yu na\Yoona's Street Episode 50.mp4
F:\korean drama\yu na\Yoona's Street Episode 505.mp4
F:\korean drama\yu na\Yoona's Street Episode 5021.mp4
F:\korean drama\yu na\Yoona's Street Episode 50464.mp4
)
index:=["a","b","c","d"]
Loop, parse,data,`n
list .= regexreplace(A_LoopField,"(\d\d)\d?\d?\d?","$1" index[A_Index]) "`n"
msgbox %list%
This works but it is possible to simplify the "\d?\d?\d?" part?
Re: regexreplace help
Posted: 07 Sep 2016, 04:50
by drawback
Code: Select all
list .= regexreplace(A_LoopField,"(\d\d)\d{1,3}","$1" index[A_Index]) "`n"
Re: regexreplace help
Posted: 07 Sep 2016, 05:21
by noname
Thanks but the first one misses the "a" index .........
---------------------------
Episode.ahk
---------------------------
F:\korean drama\yu na\Yoona's Street Episode 50.mp4
F:\korean drama\yu na\Yoona's Street Episode 50b.mp4
F:\korean drama\yu na\Yoona's Street Episode 50c.mp4
F:\korean drama\yu na\Yoona's Street Episode 50d.mp4
---------------------------
OK
---------------------------
Re: regexreplace help
Posted: 07 Sep 2016, 05:36
by Helgef
drawback wrote:Code: Select all
list .= regexreplace(A_LoopField,"(\d\d)\d{1,3}","$1" index[A_Index]) "`n" ; not working
list .= regexreplace(A_LoopField,"(\d\d)\d{0,3}","$1" index[A_Index]) "`n" ; working
Alternative, working for more digits between the two first and the .mp4:
Code: Select all
list .= regexreplace(A_LoopField,"(\d\d)(\d+|)","$1" index[A_Index]) "`n"
list .= regexreplace(A_LoopField,"(\d\d)\d{0,}","$1" index[A_Index]) "`n"
What is is simpler? I don't know.
Re: regexreplace help
Posted: 07 Sep 2016, 05:48
by noname
Thanks Helgef i will use the d{0,3} , i tried itbefore but unfortunately used letter "o" instead of 0
(\d+|) is a nice one !
Re: regexreplace help
Posted: 07 Sep 2016, 05:50
by Helgef
noname wrote:Thanks Helgef i will use the d{0,3} , i tried itbefore but unfortunately used letter "o" instead of 0
(\d+|) is a nice one !
Np, I hate when that happens o_0
Re: regexreplace help
Posted: 07 Sep 2016, 08:36
by AlphaBravo
Helgef wrote:
Alternative, working for more digits between the two first and the .mp4:
Code: Select all
list .= regexreplace(A_LoopField,"(\d\d)(\d+|)","$1" index[A_Index]) "`n"
list .= regexreplace(A_LoopField,"(\d\d)\d{0,}","$1" index[A_Index]) "`n"
What is is simpler? I don't know.
or maybe
Code: Select all
list .= regexreplace(A_LoopField,"(\d\d)\d*","$1" index[A_Index]) "`n"
Re: regexreplace help
Posted: 07 Sep 2016, 09:26
by Helgef
AlphaBravo wrote:
or maybe
Code: Select all
list .= regexreplace(A_LoopField,"(\d\d)\d*","$1" index[A_Index]) "`n"
Even better!