fortages
Новичок
- Сообщения
- 81
- Репутация
- 3
Подскажите, пожалуйста, что неправильно?
Пользователь может ввести текст как попало, а именно - с кучей лишних пробелов и слов. Слова ненужные у меня заменять на " " получилось. Но как быть с символами перевода строки? (двойное нажатие Enter)?
Пыталась так:
но ни одним из трех способов не получилось... Подскажите, что неправильно?
Пользователь может ввести текст как попало, а именно - с кучей лишних пробелов и слов. Слова ненужные у меня заменять на " " получилось. Но как быть с символами перевода строки? (двойное нажатие Enter)?
Код:
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <Array.au3>
#include <File.au3>
$Child = GUICreate("Поиск повторов", 199, 289, 192, 114)
$UserInput = GUICtrlCreateEdit("", 16, 40, 161, 177)
GUICtrlSetData(-1, "Текст набрать тут")
$OK = GUICtrlCreateButton("ОК", 8, 232, 81, 33, $WS_GROUP)
$Exit = GUICtrlCreateButton("Выйти", 104, 232, 81, 33, $WS_GROUP)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Exit
Exit
Case $OK
_FuncFiles()
ExitLoop
EndSwitch
WEnd
;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Func _FuncFiles()
Local $Buffer
$Buffer = 'buffer.txt'
FileDelete($Buffer) ;для гарантии, что после предыдущего запуска в файле нет лишнего
FileWrite($Buffer, GUICtrlRead($UserInput))
If (_ReplaceStringInFile("buffer.txt", "проверка", " ") = 0) Then
ConsoleWriteError("такого слова не найдено" & @CRLF)
EndIf
;StringStripCR($Buffer)
;StringRegExpReplace($Buffer, '(\r\n|\r|\n){2,}', '\1')
StringRegExpReplace($Buffer, @CR & @LF & @CRLF, " ")
EndFunc ; <==_FuncFiles
Пыталась так:
Код:
;StringStripCR($Buffer)
;StringRegExpReplace($Buffer, '(\r\n|\r|\n){2,}', '\1')
StringRegExpReplace($Buffer, @CR & @LF & @CRLF, " ")
но ни одним из трех способов не получилось... Подскажите, что неправильно?