Что нового

[Данные, строки] Вырезать часть текста между тегами

zerobot

Новичок
Сообщения
78
Репутация
0
Доброго времени суток!
Есть файл, в нём текст-"мусор", затем идут два тега: [OPEN] тут нужный текст [CLOSE] а после снова идёт много "мусора".
Как мне из всего файла получить только то что между двумя этими тегами?

С уважением,
Зеро
 

sngr

AutoIT Гуру
Сообщения
988
Репутация
393
Код:
$file='gdfgfdgf[OPEN]111111111[CLOSE]zzzzzzzzz'
$str=StringRegExpReplace($file,'(?si).*?\[OPEN\]((?:(?!\[CLOSE\]).)+)\[CLOSE\].*','\1')
MsgBox(32,'',$str)
 

alex33

Скриптер
Сообщения
1,457
Репутация
186
Код:
#include <Array.au3> ; for _ArrayDisplay
#include <String.au3> ; for _StringBetween
Local $aRegexp
Local $str = 'Есть файл, в нём текст-"мусор", затем идут два тега: [OPEN] тут нужный текст [CLOSE] а после снова идёт много "мусора".'

MsgBox(0, '', $str)

;1)
$aRegexp = StringRegExp($str, '(?si)\[open\](.*?)\[close\]', 3)
_ArrayDisplay($aRegexp)

;2)
$aRegexp = _StringBetween($str, '[open]', '[close]')
_ArrayDisplay($aRegexp)
 
Верх