![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| Riccon |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 103 Регистрация: 5.5.2004 Репутация: нет Всего: нет |
Есть строка.
Нужно убрать все пробелы по бокам контейнеров [text], но остальные должны остаться. Результат может выглядеть так: t text[text]texttext[text]text - te xt Подскажите, каким способом можно проделать такой финт? |
|||
|
||||
| lovermann |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 285 Регистрация: 28.12.2004 Где: Прага Репутация: 1 Всего: 8 |
Примени метод trim() на substring той части стринга, где ты хочешь удалить пробелы.
|
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Используя регулярные выражения, можно сделать это в 2 строки:
-------------------- ![]() |
|||
|
||||
| Riccon |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 103 Регистрация: 5.5.2004 Репутация: нет Всего: нет |
Удобно, но как быть, если текст внутри [] произвольный, хоть всегда и одной длины?
|
|||
|
||||
| Riccon |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 103 Регистрация: 5.5.2004 Репутация: нет Всего: нет |
Всё, справился. Спасибо огромное за ответы.
|
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Тогда код будет выглядеть вот так:
Регулярное выражение: \s*\[(?<MyText>.{4})\]\s* оно означает: взять все последовательности символов, окруженные пробелами и знаками табуляции \s* , начинающиеся квадратными скобками \[ и оканчивающиеся квадратными скобками \] , сохранить их в именованном поле (?<MyText> ... ); последовательность символов в квадратных скобках содержит любые 4 символа - .{4} Строка для замены: [${MyText}] она означает: подставить вместо найденных последовательностей новую последовательность символов, состоящую из значений именованного поля ${MyText}, окружённую квадратными скобками. -------------------- ![]() |
|||
|
||||
| Riccon |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 103 Регистрация: 5.5.2004 Репутация: нет Всего: нет |
Супер, спасибо большое.
Это сообщение отредактировал(а) Riccon - 17.11.2005, 15:56 |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Всегда рад помочь !
-------------------- ![]() |
|||
|
||||
| Riccon |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 103 Регистрация: 5.5.2004 Репутация: нет Всего: нет |
А можно расширить шабон, указав, что внутрях скобок должны быть только цифрs?
|
|||
|
||||
| Riccon |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 103 Регистрация: 5.5.2004 Репутация: нет Всего: нет |
И еще последний вопрос:
Как в этих блоках найти 0 и грохнуть, нетрогая эти символы вне блока? |
|||
|
||||
| mr.DUDA |
|
||||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
Можно, если символ "точка" в паттерне заменить на \d
Вот этого я не знаю. Не такой я маньяк по этим регэкспам, как хотелось бы... -------------------- ![]() |
||||
|
|||||
| Riccon |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 103 Регистрация: 5.5.2004 Репутация: нет Всего: нет |
Ясно, спасибо.
А где можно найти нормальную инфу о регэекспах, желательно на русском? |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 110 Всего: 232 |
В гугле или яндексе море ссылок. Вот хотя бы: http://regexp.ru/
-------------------- ![]() |
|||
|
||||
| Artiom |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1031 Регистрация: 11.3.2003 Где: Минск\Баку Репутация: нет Всего: 17 |
-------------------- Если тебя жизнь трахает, значит, ты ещё живой |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |