Автоматизация и боты

 Помощь      Поиск      Пользователи
Сайт Кибор     Программируемый кликер Кибор     Видео обучение     Заказать бот

 Страниц (5): « 1 2 3 [4] 5 »   

> Описание: Строковые функции. Поиск, удаление, замена.
Kibor
Отправлено: 30 Марта, 2018 - 01:59:54
Post Id



Администратор
Эксперт


Просматривает форум
Сообщений всего: 8218
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




Zireael , Спасибо.
Такая вроде кажущаяся простой и понятной задачей как реализация регулярные выражений на самом деле довольно многогранная.
Хотя такое развитие я вроде как предусмотрел, однако 2 ночей как показывает практика мало)
Следующий алгоритм будет лучше. Пока выкладывайте слабые стороны и баги.
 
 Top
Zireael
Отправлено: 30 Марта, 2018 - 03:38:37
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4465
Дата рег-ции: Нояб. 2017  
Репутация: 585




Простой задачей я бы её не назвал.
Впринципе даже в нынешнем виде с большинством задач функция вполне справится.
Доделать диапазон количества искомых символов, возвращение подгрупп в массив и поиск через | и будет отлично.
 
 Top
Zireael
Отправлено: 04 Апреля, 2018 - 01:54:52
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4465
Дата рег-ции: Нояб. 2017  
Репутация: 585




CODE:
string CTEXT="qwe, "+formatic(34)+"asd"+formatic(34)+", 123"; // ищем текст в кавычках, т.е. asd
string PR;
string s=formatic(34);

//messagebox (CTEXT);
if (findtexttest (#CTEXT, #PR, formatic(34), /ALL+\, s)==1) // так работает
messagebox (PR);

if (findtexttest (#CTEXT, #PR, formatic(34), /ALL+\, formatic(34) )==1) // символ не распознан
messagebox (PR);
 
 Top
Zireael
Отправлено: 05 Апреля, 2018 - 02:23:05
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4465
Дата рег-ции: Нояб. 2017  
Репутация: 585




CODE:
string CTEXT="Пример1: 12+34=";
string PR;

if (findtexttest (#CTEXT, #PR, /[NUM]+\, "+")==1)
messagebox (PR);
 
 Top
Zireael
Отправлено: 07 Апреля, 2018 - 02:39:11
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4465
Дата рег-ции: Нояб. 2017  
Репутация: 585




CODE:
string CTEXT="qwe 123 rty";
string PR;

if(findtexttest (#CTEXT, #PR, NUM+)==1)messagebox (PR); // найдено
else messagebox ("Не найдено");

if(findtexttest (#CTEXT, #PR, NUM+)==1)messagebox (PR); // не найдено
else messagebox ("Не найдено");

if(findtexttest (#CTEXT, #PR, NUM+)==1)messagebox (PR); // найдено
else messagebox ("Не найдено");
// т. е. функция работает через раз
 
 Top
Zireael
Отправлено: 28 Июня, 2018 - 01:56:43
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4465
Дата рег-ции: Нояб. 2017  
Репутация: 585




findtext планируется доделать?
 
 Top
Dantes3000
Отправлено: 14 Июля, 2018 - 19:07:10
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1489
Дата рег-ции: Июнь 2016  
Репутация: 58




как найти текст между = ' и ]';

а так же "> и </
(Добавление)
Нашел такую таблицу, но всё равно не вдупляю немного.

например вот
CODE:
findtext(#CTEXT[tnom], #nom, #siz, "seller-info-value"+formatci(34)+formatci(62) & formatci(60)+formatci(47)

это
seller-info-value"> и </

Нажмите для увеличения
 
 Top
Zireael
Отправлено: 14 Июля, 2018 - 22:58:32
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 4465
Дата рег-ции: Нояб. 2017  
Репутация: 585




CODE:
string CTEXT="Какой-то текст, "+"seller-info-value"+formatic(34)+formatic(62)+"ИЩЕМ ЭТОТ ТЕКСТ"+formatic(60)+formatic(47)+"ещё текст";
string PR;
string s1=formatic(34);
string s2=formatic(62);

messagebox(CTEXT); // строка, в которой ищем текст

if (findtexttest (#CTEXT, #PR, s1, s2, /ALL+\, formatic(60), formatic(47))==1)
messagebox (PR); // найденный текст
else messagebox ("Не найдено");

Функция с багами, которые так и не исправлены.
 
 Top
Dantes3000
Отправлено: 14 Июля, 2018 - 23:13:50
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1489
Дата рег-ции: Июнь 2016  
Репутация: 58




Я как обычно - спрошу на форуме, а через 5 минут сам догадываюсь как делать. Мне кажется, так было бы проще.


CODE:
string TEXT;
readclipboard(TEXT);
/* в буфере этот текст
<div class="seller-info-prop"> <div class="seller-info-label">Адрес</div> <div class="seller-info-value">
Воронеж, Советский р-н
</div> </div>
</div>
</div>
*/
char CTEXT[999999];
int nom, tnom=0;
int siz;
strcpy(#CTEXT[0], TEXT);

tnom=0;
loop()
{
if (findtext(#CTEXT[tnom], #nom, #siz, "value"+formatic(34)+">" & "</")==1) {messagebox(format(#CTEXT[tnom+nom], siz)); break}
else break;
}
 
 Top
Kibor
Отправлено: 14 Июля, 2018 - 23:24:44
Post Id



Администратор
Эксперт


Просматривает форум
Сообщений всего: 8218
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 357




 Dantes3000 пишет:
Мне кажется, так было бы проще.

?? к чему там цикл?.........
CODE:
string TEXT;
readclipboard(TEXT);
/* в буфере этот текст
<div class="seller-info-prop"> <div class="seller-info-label">Адрес</div> <div class="seller-info-value">
Воронеж, Советский р-н
</div> </div>
</div>
</div>
*/
char CTEXT[999999];
int nom, tnom=0;
int siz;
strcpy(#CTEXT[0], TEXT);

if (findtext(#CTEXT[tnom], #nom, #siz, "value"+formatic(34)+">" & "</")==1)
{
messagebox(format(#CTEXT[tnom+nom], siz));
}
 
 Top
Страниц (5): « 1 2 3 [4] 5 »
Сейчас эту тему просматривают: 4 (гостей: 4, зарегистрированных: 0)
« О программе Кибор »


Все гости форума могут просматривать этот раздел.
Только администраторы и модераторы могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Powered by