2016-12-26 9 views
0

Я пытаюсь получить имя фильма (без точек) в строке.Autohotkey Получить все перед regex

Например:

"Matrix.1999.LIMITED.720p.BluRay" бы "Матрица"

Кроме того, "Max.Steel.2016.1080p.BluRay" бы "Max Steel"

я сделал ниже, но ее не работает

Haystack =Max.Steel.2016.1080p.BluRay 
TheYear := RegExMatch(Haystack, "\d{4}\b") 
StringGetPos, YearPostion,Haystack,%TheYear% 
StringLeft, MovieName,Haystack,%YearPostion% 
MsgBox, %MovieName% 

ответ

1

Заменить все точки с пробелом, поиск в течение года, и обрезать ненужные пробелы:

Haystack = Max.Steel.2016.1080p.BluRay 
StringReplace, Haystack, Haystack , . , %A_Space% , All 
TheYear := RegExMatch(Haystack, "(1|2)\d\d\d") 
if(TheYear > 0) 
{ 
    TheYear-- 
    StringLeft, MovieName,Haystack,%TheYear% 
    MovieName := Trim(MovieName) ; 
    MsgBox, |%MovieName%| 
} 
+0

Спасибо за вашу помощь –

Смежные вопросы