Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
-13 / 3 / 0
Регистрация: 09.11.2019
Сообщений: 132

Substring/Trim строк

05.10.2020, 12:44. Показов 898. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет.
есть две строки:
C#
1
2
private static string name = "gorod (milk) (0 - 190)";
private static string name2 = "voda (0 - 123)";
Надо разбить строки так, чтобы слова в скобках и без были как одно слово, а скобки с цифрами должны быть вторым словом, т.е.
"gorod (milk)"
"(0 - 190)"
"voda"
"(0 - 123)"
Вот мой код
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 private static void SplitString(string str)
        {
            if (str.IndexOf(')') == (str.Length - 1))
            {
                var word1 = str.Substring(0, str.IndexOf('(')).TrimEnd();
                var word2 = str.Substring(str.IndexOf('('));
 
                list.Add(word1);
                list.Add(word2);
            }
            else
            {
                var word4 = str.Substring(0, str.IndexOf('('));
                var word5 = str.Substring(str.IndexOf('('), str.IndexOf(')') - str.IndexOf('(') + 1);
                var word6 = str.Trim(word4.ToCharArray()).Trim(word5.ToCharArray()).TrimStart();
 
                var word7 = word4 + word5.TrimEnd();
 
                list.Add(word7);
                list.Add(word6);
            }
        }
Но не понимаю, почему во второй строке удаляет последнюю скобку. Где я косячу?
Спасибо
Миниатюры
Substring/Trim строк  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.10.2020, 12:44
Ответы с готовыми решениями:

Работа с Substring
При помощи метода Substring() извлечь из исходной строки 3 подстроки. Сравнить их по количеству элементов в каждой строке и расположить в...

Почему на Substring ругается?
Доброго времени суток, подскажите пожалуйста, почему на Substring ругается? Планировалось обрезать первый символ в трёх значном числе ...

Работа с String.Substring
Возникла очень странная проблема с substring, когда я делал интерпретатор. А точнее обработчик арифметических выражений. Сидел тут...

3
 Аватар для Voronkin
469 / 296 / 166
Регистрация: 18.03.2018
Сообщений: 960
05.10.2020, 13:21
C#
1
2
3
4
            list.Add(name.Substring(0, name.LastIndexOf('(')));
            list.Add(name.Substring(name.LastIndexOf('(')));
            list.Add(name2.Substring(0, name2.LastIndexOf('(')));
            list.Add(name2.Substring(name2.LastIndexOf('(')));
0
484 / 439 / 123
Регистрация: 05.01.2010
Сообщений: 1,848
05.10.2020, 13:28
имхо: прям напрашивается посимвольный перебор строк с разбиением на части по условию
1
 Аватар для Voronkin
469 / 296 / 166
Регистрация: 18.03.2018
Сообщений: 960
05.10.2020, 13:30
По идее Ваша функция должна выглядеть примерно так:

C#
1
2
3
4
5
private static void SplitString(string str)
        {
           list.Add(str.Substring(0, str.LastIndexOf('(')));
           list.Add(str.Substring(str.LastIndexOf('(')));
        }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.10.2020, 13:30
Помогаю со студенческими работами здесь

Метод string.Trim()
Здравствуйте. Скажите что не так делаю. Создаю строку и хочу удалить все начальные и конечные пробелы при помощи метода Trim(). Но почему...

Поиск и substring, как разобрать файл, сериализованный на C++
Кто-то когда-то сериализовал таблицу в файл. Делал он это на C++. Исходники утеряны, но результат сериализзации остался :) Текстовый...

Сохранить то, что удалилось Trim'ом
Есть строка string1 = "dddddddddddd " после трима пробелы откинутся и string1 = "dddddddddddd", можно ли как то переменой string2...

Метод Trim не удаляет символы
Доброго времени суток! Хочу удалить из строки все символы ':'. Для этого пишу след. код: textBox2.Text = textBox2.Text.Trim(':'); ...

Substring. Индекс и длина должны указывать на позицию в строке
Всем доброго времени суток! Так и не могу разобраться почему у меня выходит данная ошибка. public string D(string str) { ...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита, которое может. . .
Команды "Заполнить" и "Очистить" на форме документа
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". На примере нетипового документа разработанного в конфигурации КА2. В качестве источника данных указан регистр накопления, в который записываются данные о. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru