HLFX.Ru Forum
Показать все 12 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Технические вопросы (https://hlfx.ru/forum/forumdisplay.php?forumid=20)
-- Удаление лишних символов из строки (https://hlfx.ru/forum/showthread.php?threadid=348)


Отправлено Government-Man 23-08-2006 в 11:19:

Question Удаление лишних символов из строки

Вопрос по кодингу.

Вот допустим, есть символьная строка вот такого вида: "?:87т?6*?и78?:%"
Спрашивается: как удалить из нее все символы типа $&!#%?*';:, оставляя только цифры/буквы?


Отправлено XaeroX 23-08-2006 в 14:07:

делаешь ф-ю копирования свою

C++ Source Code:
1
void mystrcpy (char *dest, char *src)
2
{
3
  while (*src)
4
  {
5
    if (*src == '%' || ... )
6
    {
7
      *src++;
8
      continue;
9
    }
10
    *dest++ = *src++;
11
  }
12
  *dest++ = 0;
13
}

__________________

xaerox on Vivino


Отправлено Government-Man 23-08-2006 в 14:58:

C++ Source Code:
if (*src == '%' || ... )


Это надо все символы перечислять? А подругому нельзя? Просто по моей задумке ф-ия должна удалять из строки, введенной юзером, знаки препинания, значки доллара, и.т.д. А юзер - существо непредсказуемое. Мало-ли какой символ ему придет в голову написать...


Отправлено XaeroX 23-08-2006 в 15:44:

ну так ты определись с постановкой задачи. Если тебе нужны только буквы - так проверяй интервалы символов. См. таблицу ASCII.

__________________

xaerox on Vivino


Отправлено Government-Man 24-08-2006 в 03:34:

Цитата:
XaeroX писал:
ну так ты определись с постановкой задачи.


Нужно удалить все не-алфавитно-цифровые символы из строки, введенной юзером.

ЗЫ. В идеале алгоритм должен оставлять не только русские/английские буквы, но и буквы других языков.


Отправлено zimer 24-08-2006 в 07:55:

Government-Man у тебя юникод чтоли?

__________________
Рассыпалась соль - к ссоре.
Рассыпался сахар - к миру.
Рассыпался кокаин - к феерическим ощущениям и фантасмагорическим видениям.
Ласточки низко летают - будет дождь.
Коровы низко летают - рассыпался кокаин.


Отправлено Government-Man 24-08-2006 в 08:51:

zimer не-а...

А проблему я решил так - юзер в специальном файле пишет все буквы из своего алфавита (вдруг он буржуй =)). И прога потом, при проверке, сверяется с этим файлом. И если какого-то символа в списке нет, то он удаляется.


Отправлено zimer 24-08-2006 в 08:54:

извращенец

__________________
Рассыпалась соль - к ссоре.
Рассыпался сахар - к миру.
Рассыпался кокаин - к феерическим ощущениям и фантасмагорическим видениям.
Ласточки низко летают - будет дождь.
Коровы низко летают - рассыпался кокаин.


Отправлено Government-Man 24-08-2006 в 09:15:

zimer а как еще? Предлагай...


Отправлено zimer 24-08-2006 в 09:37:

java, юникод, trim()

__________________
Рассыпалась соль - к ссоре.
Рассыпался сахар - к миру.
Рассыпался кокаин - к феерическим ощущениям и фантасмагорическим видениям.
Ласточки низко летают - будет дождь.
Коровы низко летают - рассыпался кокаин.


Отправлено Government-Man 24-08-2006 в 09:59:

zimer мой способ удобнее (с точки зрения реализации =))


Отправлено zimer 24-08-2006 в 10:01:

Government-Man бугага

__________________
Рассыпалась соль - к ссоре.
Рассыпался сахар - к миру.
Рассыпался кокаин - к феерическим ощущениям и фантасмагорическим видениям.
Ласточки низко летают - будет дождь.
Коровы низко летают - рассыпался кокаин.


Временная зона GMT. Текущее время 10:21.
Показать все 12 сообщений этой темы на одной странице

На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024