Что нового

Получение определенной даты из текста

Talany

Знающий
Сообщения
136
Репутация
11
Доброго времени суток любители AutoIt.

Возникла необходимость а знаний не хватает!
Как получить кусок даты из такого куска текста
Код:
from mx.xxx.kz ([212.154.132.67] verified)
  by mx.xxxxx.kz (CommuniGate Pro SMTP 5.3.13)
  with ESMTP id 68471744 for [email protected]; Wed, 07 May 2014 10:11:03 +0600
Дату "07 May 2014 10:11:03" и преобразовать в "07.05.2014 10:11:03"
или хотя бы получить!
И за одно и из такой строки тож
Код:
Wed, 07 May 2014 09:55:39 +0600

и еще такая запись "07 May 2014 10:11:03" может находится как в начале текста так и в конце!

Заранее благодарю!
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Talany,
Предупреждение За нарушение правил форума (пункт В.11):
Любые отрывки AutoIt кода необходимо заключать в тег [autoit]
autoit.gif
(подробнее), а обычный код соответственно в тег [code]
code.gif
(подробнее). Также большие выдержки текста помещайте под тег [spoiler]
spoiler.gif
(подробнее), там где это поддерживается естественно. Как в случае с названием темы, также короткое и эргономичное сообщение привлекает больше внимания, и шансы на получение конкретного ответа увеличиваются.


С уважением, ваш Глобальный модератор.
 
Автор
T

Talany

Знающий
Сообщения
136
Репутация
11
madmasles сказал(а):
Talany,
[warn]За нарушение правил форума (пункт В.11):
Любые отрывки AutoIt кода необходимо заключать в тег [autoit]
autoit.gif
(подробнее), а обычный код соответственно в тег [code]
code.gif
(подробнее). Также большие выдержки текста помещайте под тег [spoiler]
spoiler.gif
(подробнее), там где это поддерживается естественно. Как в случае с названием темы, также короткое и эргономичное сообщение привлекает больше внимания, и шансы на получение конкретного ответа увеличиваются.


С уважением, ваш Глобальный модератор.[/warn]







Благодарю, исправил
 

C2H5OH

AutoIT Гуру
Сообщения
1,473
Репутация
333
Код:
#include <Array.au3>

$text = ClipGet()
$pattern = '(?s).*?(\d{2}\s\w{3}\s\d{4}\s\d{2}:\d{2}:\d{2})'
$aRes = StringRegExp($text, $pattern, 3)
_arraydisplay($aRes)
 

Z_Lenar

Продвинутый
Сообщения
209
Репутация
52
Код:
$sText = "from mx.xxx.kz ([212.154.132.67] verified)" & @CRLF _
	& "by mx.xxxxx.kz (CommuniGate Pro SMTP 5.3.13)" & @CRLF _
	& "with ESMTP id 68471744 for [email protected]; Wed, 07 Dec 2014 10:11:03 +0600"

$sText = StringRegExpReplace($sText, "(?s)^.*?(\d{2}) (\w{3,}) (\d{4}) (\d{2}:\d{2}:\d{2}).*$", "\1.\2.\3 \4")
$aTmp = StringRegExp($sText, "(?i)(Ja)|(F)|(Mar)|(Ap)|(May)|(Jun)|(Jul)|(Au)|(S)|(O)|(N)|(D)", 1)
$sText = StringRegExpReplace($sText, "(?i)[a-z]+", StringFormat("%02d", UBound($aTmp)))
ConsoleWrite($sText & @CRLF)
 
Автор
T

Talany

Знающий
Сообщения
136
Репутация
11
Благодарю всех!

Проблема решена! :rofl:
 
Верх