41. Dantes3000 - 14 Июля, 2018 - 15:53:49 - перейти к сообщению
Kibor , да это я с примера брал. забыл убрать и не обратил внимание
42. Dantes3000 - 04 Июля, 2019 - 06:53:43 - перейти к сообщению
Kibor пишет:
string TEXT="В этом тексте нам необходимо найти <-!это слово! и {такое тоже}. Поиск по тексту.";
char CTEXT[1000];
int nom, tnom=0;
int siz;
strcpy(#CTEXT[0], TEXT);
tnom=0;
loop()
{
if (findtext(#CTEXT[tnom], #nom, #siz, "<-!" & "!" | '{' & '}'==-1) goto er;
messagebox("Позиция от начала массива "+format(tnom+nom) + ". Длина найденного фрагмента "+format(siz) + ". Найдена фраза: "+format(#CTEXT[tnom+nom], siz));
tnom=tnom+nom;
}
er:;
char CTEXT[1000];
int nom, tnom=0;
int siz;
strcpy(#CTEXT[0], TEXT);
tnom=0;
loop()
{
if (findtext(#CTEXT[tnom], #nom, #siz, "<-!" & "!" | '{' & '}'==-1) goto er;
messagebox("Позиция от начала массива "+format(tnom+nom) + ". Длина найденного фрагмента "+format(siz) + ". Найдена фраза: "+format(#CTEXT[tnom+nom], siz));
tnom=tnom+nom;
}
er:;
дебаггер ошибку выдает
43. S_o_k - 01 Февраля, 2020 - 09:55:41 - перейти к сообщению
Подскажите пожалуйста, как из распознанного текста типа "12 ", " 2 " или " 5 " вытащить только цифры для дальнейших математических операций?
CODE:
char Text1[50]=" 5 ";
char Text2[50]=" 2 ";
int nom;
int siz;
if (findtext(#Text1[0], #nom, #siz, " " & " ")==1)
{
string z=format(#Text1[nom], siz);
int a=formatsn(z);
messagebox(a);
}
int nom1;
int siz1;
if (findtext(#Text2[0], #nom1, #siz1, " " & " ")==1)
{
string y=format(#Text2[nom1], siz1);
int b=formatsn(y);
messagebox(b);
}
char Text2[50]=" 2 ";
int nom;
int siz;
if (findtext(#Text1[0], #nom, #siz, " " & " ")==1)
{
string z=format(#Text1[nom], siz);
int a=formatsn(z);
messagebox(a);
}
int nom1;
int siz1;
if (findtext(#Text2[0], #nom1, #siz1, " " & " ")==1)
{
string y=format(#Text2[nom1], siz1);
int b=formatsn(y);
messagebox(b);
}
44. Zireael - 01 Февраля, 2020 - 10:24:47 - перейти к сообщению
Цитата:
char Text1[50]=" 5 ";
Так нельзя присваивать значения.
Цитата:
как из распознанного текста типа "12 ", " 2 " или " 5 " вытащить только цифры для дальнейших математических операций?
CODE:
string Text1=" 5 ";
string Text2=" 2 ";
regexreplace(-1, #Text1, Text1, "[^\d]", ""); // удалить из строки всё кроме чисел
regexreplace(-1, #Text2, Text2, "[^\d]", "");
int result=formatsn(Text1) + formatsn(Text2);
messagebox(result);
string Text2=" 2 ";
regexreplace(-1, #Text1, Text1, "[^\d]", ""); // удалить из строки всё кроме чисел
regexreplace(-1, #Text2, Text2, "[^\d]", "");
int result=formatsn(Text1) + formatsn(Text2);
messagebox(result);
45. S_o_k - 02 Февраля, 2020 - 00:40:06 - перейти к сообщению
Спасибо большое, буду знать еще одну функцию.Вчера уже решил свой вопрос путем функции
CODE:
где удалил все пробелы
deletetext(#CTEXT1[0], " ");
46. Redear - 07 Февраля, 2023 - 09:01:28 - перейти к сообщению
какой самый простой способ удаления любого последнего символа в строке стринг.
спасибо
(Добавление)
решено
спасибо
(Добавление)
Redear пишет:
какой самый простой способ удаления любого последнего символа в строке стринг.
спасибо
спасибо
решено
47. Zireael - 07 Февраля, 2023 - 17:35:40 - перейти к сообщению
Цитата:
какой самый простой способ удаления любого последнего символа в строке
Вариантов полно, какой проще трудно сказать, вот несколько:
CODE:
string Text = "12345";
regexsearch(1, #Text, Text, ".+(?=.)");
messagebox(Text);
regexsearch(1, #Text, Text, ".+(?=.)");
messagebox(Text);
CODE:
string Text = "12345";
regexreplace(1, #Text, Text, "(.+).", "$1");
messagebox(Text);
regexreplace(1, #Text, Text, "(.+).", "$1");
messagebox(Text);