1. forzub - 28 Июня, 2014 - 05:50:04 - перейти к сообщению
Добрый день. подскажите, как средствами кибера убрать из строки все символы, кроме цифр и алфавита (пробелы, табуляторы и др. случайно попавшие)
2. Kibor - 28 Июня, 2014 - 12:14:31 - перейти к сообщению
regexreplace(-1, #Text, Text, " ", "");
Регулярные выражения
или устравшее:
Регулярные выражения
или устравшее:
Цитата:
string str="Убрать все ! и пробелы !! и еще !! и еще+!+";
messagebox (str);
char a[200];
strcpy(#a[0], str);
int siz=size(#a[0]);
str="";
for (int q=0; q
{
if (a[q]!='!' && a[q]!=' ')str=str+a[q];
}
messagebox (str);
messagebox (str);
char a[200];
strcpy(#a[0], str);
int siz=size(#a[0]);
str="";
for (int q=0; q
if (a[q]!='!' && a[q]!=' ')str=str+a[q];
}
messagebox (str);
3. forzub - 28 Июня, 2014 - 13:54:14 - перейти к сообщению
Kibor пишет:
Цитата:
string str="Убрать все ! и пробелы !! и еще !! и еще+!+";
messagebox (str);
char a[200];
strcpy(#a[0], str);
int siz=size(#a[0]);
str="";
for (int q=0; q<siz; q++)
{
if (a[q]!='!' && a[q]!=' 'str=str+a[q];
}
messagebox (str);
messagebox (str);
char a[200];
strcpy(#a[0], str);
int siz=size(#a[0]);
str="";
for (int q=0; q<siz; q++)
{
if (a[q]!='!' && a[q]!=' 'str=str+a[q];
}
messagebox (str);
А как обозначить символ "табуляция"?
(Добавление)
может попробовать как-то через hex код? есть такое обозначение переменных?
4. HACMOPK - 28 Июня, 2014 - 15:31:29 - перейти к сообщению
5. forzub - 28 Июня, 2014 - 15:54:33 - перейти к сообщению
6. Kibor - 28 Июня, 2014 - 15:56:28 - перейти к сообщению
Цитата:
int n=0;
a: for (n=0; n<255; n++)
{
if (getkeystate(n)==1)messagebox (n);
}
goto a;
a: for (n=0; n<255; n++)
{
if (getkeystate(n)==1)messagebox (n);
}
goto a;
Запустите. Этот скриптик покажет все коды во время нажатия.
TAB = 9
Но код клавиши и символа не одно и то же...
К примеру код символов маленького регистра букв анг идут от 69 - 90.
большого 97 - 122.
Проверку чисто букв так можно сделать
Цитата:
string str="$We 12345 ##()*!lco %%m^$e#^&";
messagebox (str);
char a[200];
strcpy(#a[0], str);
int siz=size(#a[0]);
str="";
for (int q=0; q<siz; q++)
{
if ((formatci(a[q])>64 && formatci(a[q])<91) || (formatci(a[q])>96 && formatci(a[q])<123))str=str+a[q];
}
messagebox (str);
messagebox (str);
char a[200];
strcpy(#a[0], str);
int siz=size(#a[0]);
str="";
for (int q=0; q<siz; q++)
{
if ((formatci(a[q])>64 && formatci(a[q])<91) || (formatci(a[q])>96 && formatci(a[q])<123))str=str+a[q];
}
messagebox (str);
С цифрами так тоже...
7. forzub - 29 Июня, 2014 - 03:35:16 - перейти к сообщению
Спасибо большое за ответ, мне он существенно сэкономил листинг. Я хочу уточнить следующее:
если у меня в строке присутствуют нежелательные символы табуляции, как мне от них избавиться? пока, получается единственный выход это через сравнение каждого char-a со списком "разрешенных символов".
есть ли возможность указать что-то типа:
?
(Добавление)
Ага, кажется начинаю понимать, наверное через функцию:
правильно?
если у меня в строке присутствуют нежелательные символы табуляции, как мне от них избавиться? пока, получается единственный выход это через сравнение каждого char-a со списком "разрешенных символов".
есть ли возможность указать что-то типа:
CODE:
string ss="где-то тут вместо пробела стоит табуляция";
char a[200];
strcpy(#a[0],ss);
int sz=size(#a[0]);
if (int q; q<sz; q++ ) {
if (a[q]!=/*на этом месте должен быть символ табуляции*/)
{/*к дьяволу символ табуляции*/}
}
string ss="где-то тут вместо пробела стоит табуляция";
char a[200];
strcpy(#a[0],ss);
int sz=size(#a[0]);
if (int q; q<sz; q++ ) {
if (a[q]!=/*на этом месте должен быть символ табуляции*/)
{/*к дьяволу символ табуляции*/}
}
?
(Добавление)
Ага, кажется начинаю понимать, наверное через функцию:
CODE:
formatci(a[q])==9
formatci(a[q])==9
правильно?
8. Kibor - 29 Июня, 2014 - 03:50:46 - перейти к сообщению
Kibor пишет:
TAB = 9
CODE:
char ee=formatic(9);
string qw="gg"+ee+"ww";
messagebox (qw);
char a[200];
strcpy(#a[0], qw);
int siz=size(#a[0]);
qw="";
for (int q=0; q<siz; q++)
{
if (formatci(a[q])!=9)qw=qw+a[q];
}
messagebox (qw);
string qw="gg"+ee+"ww";
messagebox (qw);
char a[200];
strcpy(#a[0], qw);
int siz=size(#a[0]);
qw="";
for (int q=0; q<siz; q++)
{
if (formatci(a[q])!=9)qw=qw+a[q];
}
messagebox (qw);
9. forzub - 29 Июня, 2014 - 04:15:36 - перейти к сообщению
теперь все понятно спасибо
10. konctantin777 - 16 Ноября, 2020 - 09:50:16 - перейти к сообщению
[quote=Kibor][/quote]
А как удалить и пробелы и всё кроме букв ?
regexreplace(-1, #text_KIB, text_KIB, "[^а-я]", ""); Так ?
(Добавление)
А как удалить и пробелы и всё кроме букв ?
regexreplace(-1, #text_KIB, text_KIB, "[^а-я]", ""); Так ?
Не работает. Подскажите как оставить только буквы ?
А как удалить и пробелы и всё кроме букв ?
regexreplace(-1, #text_KIB, text_KIB, "[^а-я]", ""); Так ?
(Добавление)
konctantin777 пишет:
Kibor пишет:
А как удалить и пробелы и всё кроме букв ?
regexreplace(-1, #text_KIB, text_KIB, "[^а-я]", ""); Так ?
Не работает. Подскажите как оставить только буквы ?