|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Разбор строк из текстового поля |
|
[решено] Разбор строк из текстового поля
|
Старожил Сообщения: 156 |
Всем привет!
В текстовом поле edit1 имеется текст вида Нужна функция для кнопки button1, при нажатии на какую в текстовом поле edit2 получилась бы одна строка такого вида: И еще может понадобиться всесто всей третьей строки извлечение только ее части и вставка в код выше. Спасибо за советы! |
|
Отправлено: 19:14, 27-08-2013 |
Старожил Сообщения: 156
|
Профиль | Отправить PM | Цитировать Iska, хорошо. В принципе могу уже свистеть.
Строка содержит пробелы. Как от них избавиться в конечном результате? Кстати, если сильно надоедаю, то разрешаю меня послать)))) Я с autoit знаком три дня, хочу научится, а для этого надо решать задачу, к которой есть личный интерес, а не писать скрипты "Привет мир". И касательно третьей строки... Посмотрел - надо все таки вытягивать с нее часть. Вид у нее такой Вот тот номер после запятой мне и нужен.В данном случае 101. Предполагаю, что нужна работа с регулярными выражениями. С связи с этим еще вопрос - у кого есть утилита regexp для работы с ними? А то с сайта ее скачать не могу - страница не открывается |
Отправлено: 19:14, 28-08-2013 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 812
|
Профиль | Отправить PM | Цитировать eus_deus,
$sString = 'строка с пробелами' & @TAB & ' и еще одна ' & @CR & @LF & 'и еще строка ' ConsoleWrite('До: >' & $sString & '<' & @LF) $sString = StringStripWS($sString, 8) ConsoleWrite('После: >' & $sString & '<' & @LF) ConsoleWrite('---' & @LF) $sString = 'Мне нужно только то, что после последней запятой, и до конца строки,123' $sString = StringRegExpReplace($sString, '^.*,', '') ConsoleWrite($sString & @LF) |
Отправлено: 19:33, 28-08-2013 | #12 |
Старожил Сообщения: 156
|
Профиль | Отправить PM | Цитировать madmasles, с числом и регуляркой - это точно мое. а вот с пробелами пока не понял, пошел смотреть внимательнее
сообщаю. не знаю, как так, но пробелов сейчас нет. Выбор числа в строке - отлично. Всплыла новая проблема. Функция работает как и ожидалось, но что делать, если строка $aS[3] пустая? Тогда функция мне пишет в конец строки символы #!#, которые там не нужны. Проблема в том, что строка может быть пустой, а может и нет. Какое то условие, если на конце строки стоит #!#, то удалять его нафиг? |
Отправлено: 19:42, 28-08-2013 | #13 |
Ветеран Сообщения: 812
|
Профиль | Отправить PM | Цитировать eus_deus,
Local $sString = '', $sDelim = '#!#' For $i = 1 To 5 $sString &= ' String ' & $i & ' ' & $sDelim Next ConsoleWrite($sString & @LF) $sString = StringRegExpReplace($sString, $sDelim & '$', '') ConsoleWrite($sString & @LF) $sString = StringStripWS($sString, 8) ConsoleWrite($sString & @LF) Local $sString = '', $sDelim = '#!#' For $i = 1 To 5 $sString &= ' String ' & $i & ' ' & $sDelim Next ConsoleWrite($sString & @LF) $sString = StringRegExpReplace($sString, $sDelim & '$|\s+', '') ConsoleWrite($sString & @LF) |
Последний раз редактировалось madmasles, 28-08-2013 в 20:24. Отправлено: 20:16, 28-08-2013 | #14 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата eus_deus:
![]() По остальному решение изложил коллега madmasles. madmasles, только сейчас заметил, что теперь ссылки ведут на перевод документации на русскоязычном сообществе. |
|
Отправлено: 20:34, 28-08-2013 | #15 |
Старожил Сообщения: 156
|
Профиль | Отправить PM | Цитировать Iska, да, я уже пытаюсь вникнуть в коды коллеги madmasles'a. Правда, боюсь, пока они для меня слишком сложны, но я стараюсь понять))
|
Отправлено: 20:36, 28-08-2013 | #16 |
Ветеран Сообщения: 812
|
Профиль | Отправить PM | Цитировать |
Отправлено: 20:53, 28-08-2013 | #17 |
Старожил Сообщения: 156
|
Профиль | Отправить PM | Цитировать madmasles, ругается при работе на строку
знак & перед равенством пробовал удалять - без толку Функция Func _Convert() $aS=StringSplit(GUICtrlRead($Edit1),@CRLF,1) $sIco = StringRegExpReplace($aS[4], '^.*,', '') $aResult=$aS[5]&"#!#"&$sIco&"#!#"&$aS[2]&"#!#"&$aS[3] $aResult2=StringStripWS ( $aResult, 8 ) Local $sString = '', $sDelim = '#!#' For $i = 1 To 5 $sString = $Result2 & $i & ' ' & $sDelim Next ConsoleWrite($sString & @LF) $sString = StringRegExpReplace($sString, $sDelim & '$|\s+', '') ConsoleWrite($sString & @LF) GUICtrlSetData($Edit2,"M " & $sString) EndFunc |
Отправлено: 20:55, 28-08-2013 | #18 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата madmasles:
![]() |
|
Отправлено: 21:05, 28-08-2013 | #19 |
Ветеран Сообщения: 812
|
Профиль | Отправить PM | Цитировать |
Отправлено: 21:20, 28-08-2013 | #20 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
VBS/WSH/JS - [решено] из строк текстового файла нужно вырезать определенные символы | alek2012 | Скриптовые языки администрирования Windows | 10 | 11-07-2012 16:54 | |
CMD/BAT - Смена кодировки текстового файла, поиск строки и разбор значения | profcom | Скриптовые языки администрирования Windows | 0 | 10-11-2011 20:20 | |
CMD/BAT - Поиск и копирование нескольких строк из текстового файла. | valen | Скриптовые языки администрирования Windows | 0 | 07-11-2011 17:27 | |
CMD/BAT - [решено] Перенос и удаление строк из текстового файла | sk8ter | Скриптовые языки администрирования Windows | 15 | 03-10-2010 19:35 | |
JavaScript: вывод текста из текстового поля | Jekamajor | Вебмастеру | 5 | 10-08-2005 12:43 |
|