[решено] Не могу разобраться с FileOpen и StringRegExpReplace

Ответить
Аватара пользователя
ALFERIUS

[решено] Не могу разобраться с FileOpen и StringRegExpReplace

Сообщение ALFERIUS »

Здравствуйе,



Необходимо в файле заменить слово и возврат каретки на слово и пробел



Собственно проблема в том, что когда я пишу

$file = FileOpen("test.txt", 4)

MsgBox(0, "проверка", $file)



он мне возвращает -1, если файла нету, с этим все правильно.

А вот когда файл есть, в инструкции написано, что должен возвращаться указатель на файл, а он мне возвращает 1.

Соответственно, когда я использую:

StringRegExpReplace ( $file, "искомый", "заменяемый", 0)

он мне ищет не по файлу, а по возвращаемой единице.



Помогите пожалуйста, в чем проблема?
Аватара пользователя
Medic84

Re: [решено] Не могу разобраться с FileOpen и StringRegExpReplace

Сообщение Medic84 »

Ага. Я думаю нужно сделать так



Код:

Код: Выделить всё

$file = FileOpen("test.txt", 4)
$Read = FileRead($file)
StringRegExpReplace ( $Read, "искомый", "заменяемый", 0)

Ну а если не так, то мы не телепаты тут сидим ))
Аватара пользователя
ALFERIUS

Re: [решено] Не могу разобраться с FileOpen и StringRegExpReplace

Сообщение ALFERIUS »

Спасибо, как раз начал читать про эту функцию.

Все получилось.
Аватара пользователя
ALFERIUS

Re: [решено] Не могу разобраться с FileOpen и StringRegExpReplace

Сообщение ALFERIUS »

Код:

Код: Выделить всё

$sFile = FileRead(@WindowsDir & '\win.ini')
MsgBox(0,"", $sFile)
Аватара пользователя
ALFERIUS

Re: [решено] Не могу разобраться с FileOpen и StringRegExpReplace

Сообщение ALFERIUS »

Все работает, но не так, как хотелось бы.



Обозначу ситуацию:

Есть текстовые строки, каждая вторая оканчивается одинаково, например:

преавя строка45678

вторая строка

третья строка45678

четвертая строка

и т.д.



Нужно получить:

преавя строка45678 вторая строка

третья строка45678 четвертая строка



выполняю:

$sFile = FileRead('d:\test.txt')

$text=StringRegExpReplace($sFile, "45678" & @CR, "45678")

MsgBox(0, "test", $text)



Он возвращает тот же текст, что в начале. Почему то после вставляемого текста всё равно вставляется @CR
Аватара пользователя
Medic84

Re: [решено] Не могу разобраться с FileOpen и StringRegExpReplace

Сообщение Medic84 »

Да потому что вот так надо





Код:

Код: Выделить всё

$sFile = FileRead('test.txt')
$text=StringReplace($sFile, "45678" & @CRLF, "45678 ")
MsgBox(0, "test", $text)
Ответить

Вернуться в «AutoIt»