Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   [решено] Заменить текст строки с помощью регулярного выражения, можно ли? (http://forum.oszone.net/showthread.php?t=206175)

andr_mozg 04-05-2011 16:32 1670191

Заменить текст строки с помощью регулярного выражения, можно ли?
 
добрый день,
есть строка вида: 20110416085104
как преобразовать в строку вида 08:51:04 16/04/2011
так и неподружился с регулярными выражениями :(

если с помощью регулярного выражения неполучается.. как можно сделать максимально просто...
спасиб

madmasles 04-05-2011 16:51 1670198

andr_mozg,
Попробуйте так:
Код:

$sString = '20110416085104'
If StringRegExp($sString, '^(\d{14})$') Then
    $sNewString = StringRegExpReplace($sString, '^(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})$', '$4:$5:$6 $3/$2/$1')
    MsgBox(64, 'Info', $sNewString)
Else
    MsgBox(16, 'Error', 'Строка неправильная')
EndIf


kaster 04-05-2011 16:51 1670199

Код:

$s = '20110416085104'
$Year = StringLeft($s, 4)
$Month = StringMid($s, 5, 2)
$Day = StringMid($s, 7, 2)
$HH = StringMid($s, 9, 2)
$MM = StringMid($s, 11, 2)
$SS = StringRight($s, 2)
$sNew = $HH & ':' & $MM & ':' & $SS & ' ' & $Day & '/' & $Month & '/' & $Year
MsgBox(0, '', $sNew)


madmasles 04-05-2011 17:01 1670203

Код:

$sString = '20110416085104'
$aString = StringRegExp($sString, '\d{2}', 3)
$Year = $aString[0] & $aString[1]
$Month = $aString[2]
$Day = $aString[3]
$HH = $aString[4]
$MM = $aString[5]
$SS = $aString[6]
$sNewString = $HH & ':' & $MM & ':' & $SS & ' ' & $Day & '/' & $Month & '/' & $Year
MsgBox(64, 'Info', $sNewString)

:)

andr_mozg 04-05-2011 17:40 1670221

спасибо.. :)


Время: 22:45.

Время: 22:45.
© OSzone.net 2001-