Что нового

Как в цикле брать по очереди текст?

Pennon

Новичок
Сообщения
45
Репутация
0
Файл содержит текстовые сообщения.
как взять те сообщения которые начинаются и заканчиваются тремя звёздочками?
Пример:
Амброзия не только вызывает аллергию, но и способна уничтожить весь урожай. Аллергиков
хватает и в больших городах

***Расскажу историю о себе. В августе с друзьями пошли в лес за орехами......Это зависит от особенностей человеческого организма, а не от
пчел. ***

Здравствуйте. У моей двоюродной сестры есть дочь. У нее с рождения была

***Здравствуйте. У моей двоюродной сестры есть дочь. У нее с рождения была гемангиома на
шее. Они тоже сначала делали компрессы, принимали лекарства. Хорошо, что с этим делом не
затянули. Идите к***
 

alex33

Скриптер
Сообщения
1,457
Репутация
186
Код:
Local $sMessages = ClipGet()
Local $aMessages = StringRegExp($sMessages&@CRLF, '([*]{3}[^*]+[*]{3})[\s\r\n]', 3)
For $i = 0 To UBound($aMessages) - 1
	ConsoleWrite( $aMessages[$i] & @CRLF )
Next
 

hedji

Продвинутый
Сообщения
409
Репутация
94
Код:
$file = FileRead(@ScriptDir & "\testtext.txt")
$msgs = StringRegExp($file, "(?s)\*\*\*(.[^\*]*)\*\*\*", 3)
For $i=0 To UBound($msgs)-1
	MsgBox(0, "", $msgs[$i])
Next
 

InnI

AutoIT Гуру
Сообщения
4,912
Репутация
1,429
Код:
#include <String.au3>
$aText = _StringBetween(ClipGet(), "***", "***", 1)

#include <Array.au3>
_ArrayDisplay($aText)
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
OffTopic:
InnI
я предложил этот вариант, но потом удалил сообщение. Мало ли, может и правда файл нужно читать построчно в цикле. ждем, что автор скажет ))
Код:
#include <String.au3>
#include <Array.au3>
Local $sRead = FileRead('текст.txt')
Local $aRes = _StringBetween($sRead, '***', '***', 1)
ConsoleWrite(_ArrayToString($aRes, @LF) & @LF)
 
Верх