Что нового

Удаление строчки в файле по маске

The Dream

Новичок
Сообщения
393
Репутация
3
Весь форум просмотрел, но к сожалению не нашел. Подскажите пожалуйста.
Есть файл, в нем к примеру требуется удалить все строчки, что содержат некое слово (маска). Конечно, я не имею ввиду перебор строк, так как это долго будет...
 
Автор
T

The Dream

Новичок
Сообщения
393
Репутация
3
Black_Hole
К сожалению, никак не могу подружится.. :scratch:
 

joiner

Модератор
Локальный модератор
Сообщения
3,556
Репутация
628
а с
Код:
StringReplace

разве не придется все равно построчно проверять вхождение слова?
то есть делать то, чего автор темы не хочет

The Dream [?]
я не имею ввиду перебор строк, так как это долго будет
 

gregaz

AutoIT Гуру
Сообщения
1,166
Репутация
299
The Dream [?]
удалить все строчки, что содержат некое слово (маска)

Можно так :
Код:
$sText = "<link rel='help' href='http://autoit-script.ru/index.php?action=help'/>"  & @CRLF & _ 
"<link rel='search' href='Моя ссылка 1'/>"  & @CRLF & _ 
"<link rel='contents' href='http://autoit-script.ru/index.php'/>"  & @CRLF & _ 
"<link rel='alternate' type='application/rss+xml' title='AutoIt Сообщество - Объявления и новости' href='Моя ссылка 2'/>"
$sWord="http:"
$sPatern = " (?i).*?\Q"& $sWord & "\E.*\n"
$sResult = StringRegExpReplace( $sText, $sPatern, '' )
;MsgBox(4096, ' Test Result', $sResult
MsgBox(4096, ' Test Result', $sResult); подправил
 

AZJIO

Меценат
Меценат
Сообщения
2,874
Репутация
1,194
Код:
$sSource = "http" & @CRLF & _
		"<link rel='search' href='Моя ссылка 1'/>" & @CRLF & _
		"<link rel='contents' href='http://autoit-script.ru/index.php'/>" & @CRLF & _
		"http"
$sString = "http"
$sString = StringRegExpReplace($sString, '[][{}()*+?.\\^$|=<>#]', '\\$0') ; закомментировать спец-символы
$sResult = StringRegExpReplace($sSource, '(?i)([^\r\n]*?' & $sString & '[^\r\n]*?(?:[\r\n]+|\z))', '')
MsgBox(262144, 'Результат', $sResult)
 

gregaz

AutoIT Гуру
Сообщения
1,166
Репутация
299
Или все же :
Код:
$sText ="http" & @CRLF & _
        "<link rel='contents' href='http://autoit-script.ru/index.php'/>" & @CRLF & _
        "http" & @CRLF & _
		"<link rel='search' href='Моя ссылка 1'/>"
$sWord="http"; в слове не должно быть сочетания  : "\E"
$sPatern = "(?i).*?\Q"& $sWord & "\E.*\n"
$sResult = StringRegExpReplace( $sText & @LF, $sPatern, '' )
MsgBox(4096, 'Test Result', $sResult)
 
Верх