1

Тема: AHK: Части переменной в массив.

Здравствуйте! Вот переменная:

10:05 - 10:50IT ; Пушкин; Дятлово - A111 (Осно)
9:05 - 10:50IT ; Грибоедов; Дятлово - B407 (Осно)
11:00 - 11:45IT ; Пушкин; Дятлово - A111 (Осно)
11:00 - 11:45IT ; Грибоедов; Дятлово - B407 (Осно)

Как переместить время в массив? Т.е. чтобы в каждой части массива было 9:05 - 10:50, 11:00 - 11:45 и 11:00 - 11:45?
Заранее спасибо.

2 (изменено: belyankin12, 2017-11-12 01:42:30)

Re: AHK: Части переменной в массив.

arr := []
Loop 10 {
arr[A_Index] := A_Index
msgbox, % arr[A_Index]
}
Когда вы говорите что не можете сделать, вам всего-лишь не хватает фантазии придумать какой-нибудь костыль.

3 (изменено: teadrinker, 2017-11-12 01:44:27)

Re: AHK: Части переменной в массив.

var =
(
10:05 - 10:50IT ; Пушкин; Дятлово - A111 (Осно)
9:05 - 10:50IT ; Грибоедов; Дятлово - B407 (Осно)
11:00 - 11:45IT ; Пушкин; Дятлово - A111 (Осно)
11:00 - 11:45IT ; Грибоедов; Дятлово - B407 (Осно)
)
arr := StrSplit(RegExReplace(var, "(IT(?=[^\r\n]+$))?\s+;.*?(\R|$)"), "IT")

for k, v in arr
   MsgBox, % v
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg

4

Re: AHK: Части переменной в массив.

Большое спасибо

5

Re: AHK: Части переменной в массив.

teadrinker, а если предположить, что там не только IT? А в каждой строке разные символы, как тогда быть?

6

Re: AHK: Части переменной в массив.

var =
(
10:05 - 10:50IT ; Пушкин; Дятлово - A111 (Осно)
9:05 - 10:50 ; Грибоедов; Дятлово - B407 (Осно)
11:00 - 11:45I ; Пушкин; Дятлово - A111 (Осно)
11:00 - 11:48++ ; Грибоедов; Дятлово - B407 (Осно)
)

arr := StrSplit(RegExReplace(var, "m`a)(\d+:\d+ - \d+:\d+).*?$", "$1"), "`n")

for k, v in arr
   MsgBox, % v
По вопросам возмездной помощи пишите письма
E-Mail: serzh82saratov@mail.ru
OS: Win7x64, AutoHotkey_L v1.1.26.01 (Unicode 32-bit).

7

Re: AHK: Части переменной в массив.

Лучше так:

arr := StrSplit(RegExReplace(var, "m`a)(\d+:\d+ - \d+:\d+).*?$", "$1"), "`n", "`r")
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Skype dmitry_fiveg