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

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

24.03.2014, 10:37. Показов 1935. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru