Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
 Аватар для GarZa
12 / 12 / 1
Регистрация: 23.03.2014
Сообщений: 86
.NET 4.x

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

24.03.2014, 10:37. Показов 1962. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите, пожалуйста...

Скажем, есть строка "1МоскваФирма ЭКО23.12.2014Иванов И. И.".

Как из нее получить строку "1_23122014_moskva_firma_ivanov"?

То есть:

1. Первый символ остается без изменений, за ним обязательно следует "_";
2. Из даты выкидываются точки и она переезжает сразу за первым символом + "_", за ней тоже идет "_";
3. Из названия города откидывается пробел и идущее за ним (если такое есть), а само имя транслитерируется;
4. То же самое касается касается названия фирмы и ФИО.

Хотя бы какие-то наброски кода или направление мысли...
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.03.2014, 10:37
Ответы с готовыми решениями:

Удаление лишних переводов на новую строку с удалением лишних пробелов
Добрый вечер, форумчане! Прошу помочь. Из текста необходимо удалить лишние знаки пробелов и переводов на новую строку. Когда использую...

Удаление из строки лишних символов
Имеется такая строка: const QString format = "ABC-%0-%1%2-%3-%4%5-%6-%7-%8-%9-%10-%11"; return format .arg(data_)...

Удаление лишних символов (не являющихся буквами и пробелами) из строки при помощи регулярных выражений
Добрый день. Пытаюсь удалить лишние символы из строки (все, что не является буквами и пробелами) при помощи регулярных выражений. ...

8
 Аватар для ViterAlex
8951 / 4863 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
24.03.2014, 10:51
Нужно более чётко формализовать задачу, потому что:
Цитата Сообщение от GarZa Посмотреть сообщение
1. Первый символ остается без изменений, за ним обязательно следует "_";
Не обязательно первый символ. Я так понимаю, что это нумерация, а значит, нужно брать первое число в начале строки.
Цитата Сообщение от GarZa Посмотреть сообщение
2. Из даты выкидываются точки и она переезжает сразу за первым символом
Ну дату регэкспом можно выцепить, если она всегда записана в форме dd.mm.yyyy
Цитата Сообщение от GarZa Посмотреть сообщение
3. Из названия города откидывается пробел и идущее за ним (если такое есть)
Как определить название города? По заглавным буквам?
Цитата Сообщение от GarZa Посмотреть сообщение
4. То же самое касается касается названия фирмы и ФИО
ФИО сразу после даты и до конца строки? А название фирмы от первого пробела строки до даты?

Эти вопросы следует продумать.
0
 Аватар для GarZa
12 / 12 / 1
Регистрация: 23.03.2014
Сообщений: 86
24.03.2014, 11:02  [ТС]
1. да именно так;
2. дата всегда именно в таком формате;
3. думал - какой-то модуль транслитерации просто. Ввод города и названия фирмы будет свободным для пользователя, то есть просто "М" на "m", "c" на "s" и тд..
4. Расположение слов начальное будет всегда таким, как в примере.

Все это нужно для создания уникального имени файла, а данные берутся из выделенной строки DataGrid.

Добавлено через 6 минут
Поэтому крайне принципиально удаление пробелов, точек и того, что следует после пробелов. Ну и плюсом - латинница, разумеется..
0
 Аватар для ViterAlex
8951 / 4863 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
24.03.2014, 15:48
С транслитерацией проблем нет, но повторяю вопрос: как определить город? Как из строки "1МоскваФирма" узнать где заканчивается название города?
0
 Аватар для GarZa
12 / 12 / 1
Регистрация: 23.03.2014
Сообщений: 86
24.03.2014, 15:50  [ТС]
аа..да никак, наверное... можно локализовать имя города в момент взятия из грида..а в строку помещать уже готовое...
0
1057 / 864 / 195
Регистрация: 31.03.2010
Сообщений: 2,521
24.03.2014, 15:53
GarZa, а в каком формате у вас хранятся данные в DataGrid? именно в таком виде строка и представлена?
0
 Аватар для GarZa
12 / 12 / 1
Регистрация: 23.03.2014
Сообщений: 86
24.03.2014, 15:54  [ТС]
да, именно в таком виде она будет всегда...содержимое, ессно, будет разное...
0
 Аватар для Spawn
995 / 893 / 354
Регистрация: 24.03.2014
Сообщений: 2,381
Записей в блоге: 2
24.03.2014, 15:56
Цитата Сообщение от GarZa Посмотреть сообщение
Поэтому крайне принципиально удаление пробелов, точек и того, что следует после пробелов. Ну и плюсом - латинница, разумеется..
крайне принципиально в данном случае вот на этот массив обратить внимание: System.IO.Path.GetInvalidFileNameChars()
0
 Аватар для GarZa
12 / 12 / 1
Регистрация: 23.03.2014
Сообщений: 86
24.03.2014, 16:28  [ТС]
да я тут выкрутился - взял номер строки, он уникален, склеил к нему дату без точек и тринслитерированный город с заменой пробела на подчеркивание...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
24.03.2014, 16:28
Помогаю со студенческими работами здесь

Удаление лишних символов
Имеется файл txt.txt в котором 50 000 строк, просто физически это обработать тяжело. Нужно удалить все эти знаки ( ) | и 0. (Левая...

Удаление лишних символов
Помогите удалит лишние символы. У меня программа выгружает данные из базы и записывает в файл как INSERT-скрипт, но в некоторых полях есть...

Удаление лишних символов
http://s018.***********/i522/1202/8e/ef7716ad3e8f.png вот, каждая строчка - это отдельный лэйбл. Подскажите, как из них можно вырезать...

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

Удаление лишних символов в строке
Здравствуйте. Я учусь в 8 классе. Но в будущем хочу стать программистом. Я изучил основы программирования на java для средней школы. Сдал...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru