Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

Как получить середину строки?

-

Вопросы и ответы, обсуждения

- Ваши вопросы по C# только в данном разделе

Ответ
 
Опции темы
Старый 31.07.2011, 17:30   #1
 Разведчик
Аватар для iVs.Dark
 
iVs.Dark на правильном путиiVs.Dark на правильном пути
Регистрация: 30.07.2011
Сообщений: 19
Популярность: 115
Сказал(а) спасибо: 34
Поблагодарили 32 раз(а) в 30 сообщениях
Отправить сообщение для iVs.Dark с помощью ICQ Отправить сообщение для iVs.Dark с помощью Skype™
 
По умолчанию Как получить середину строки?

Имеется такая строка

Код:
4383<!><!>0<!>4106<!>0<!><b>Заявка отправлена.</b><br /><a class="mem_link" href=**************************
нужно отбросить начало (4383<!><!>0<!>4106<!>0<!>) это всегда 25 символов и все что после </b> длина может быть разной. т.е. должно остаться только это - <b>Заявка отправлена.</b>

можно ли так:
Код:
newstr = str.Remove(25, 50);
сделал бы через регулярные но они кириллицу не берут

P.s. Уже решил это по другому... ответов несколько, а в других длина не меняется этот я просто загнал в else

Как получить середину строки все еще интересует, вдруг потом понадобится...

Последний раз редактировалось iVs.Dark; 31.07.2011 в 17:33.
  Ответить с цитированием
Старый 31.07.2011, 18:03   #2
Проверенный продавец
 Разведчик
Аватар для MCseller
 
MCseller на правильном путиMCseller на правильном пути
Регистрация: 13.07.2011
Сообщений: 6
Популярность: 156
Сказал(а) спасибо: 6
Поблагодарили 16 раз(а) в 16 сообщениях
Отправить сообщение для MCseller с помощью ICQ
 
По умолчанию Re: Как получить середину строки?

Почему это регулярки кириллицу не берут ? Должны брать. Просто обязаны, если длина строки фиксированная - то можно использовать метод substr(25,количествоСимволовПослеДвадцатьПятого);
а так кроме регулярок ничего не могу посоветовать
Код:
string text = "4383<!><!>0<!>4106<!>0<!><b>Заявка отправлена.</b>";
Match reg = Regex.Match(text, "([0-9]+)<!><!>([0-9]+)<!>([0-9]+)<!>([0-9]+)<!><b>(.*?)</b>",RegexOptions.IgnoreCase);
Console.Write(reg.Groups[5].Value);
P.S Язык C#

Последний раз редактировалось MCseller; 31.07.2011 в 18:11.
  Ответить с цитированием
Старый 31.07.2011, 18:39   #3
 Разведчик
Аватар для iVs.Dark
 
iVs.Dark на правильном путиiVs.Dark на правильном пути
Регистрация: 30.07.2011
Сообщений: 19
Популярность: 115
Сказал(а) спасибо: 34
Поблагодарили 32 раз(а) в 30 сообщениях
Отправить сообщение для iVs.Dark с помощью ICQ Отправить сообщение для iVs.Dark с помощью Skype™
 
По умолчанию Re: Как получить середину строки?

Цитата:
Сообщение от MCsellerПосмотреть сообщение
Почему это регулярки кириллицу не берут ? Должны брать. Просто обязаны, если длина строки фиксированная - то можно использовать метод substr(25,количествоСимволовПослеДвадцатьПятого);
а так кроме регулярок ничего не могу посоветовать
Код:
string text = "4383<!><!>0<!>4106<!>0<!><b>Заявка отправлена.</b>";
Match reg = Regex.Match(text, "([0-9]+)<!><!>([0-9]+)<!>([0-9]+)<!>([0-9]+)<!><b>(.*?)</b>",RegexOptions.IgnoreCase);
Console.Write(reg.Groups[5].Value);
P.S Язык C#

спасибо =)
а регулярку можно сократить до <b>(.*?)</b>, там их больше нет.
  Ответить с цитированием
Старый 31.07.2011, 18:53   #4
Проверенный продавец
 Разведчик
Аватар для MCseller
 
MCseller на правильном путиMCseller на правильном пути
Регистрация: 13.07.2011
Сообщений: 6
Популярность: 156
Сказал(а) спасибо: 6
Поблагодарили 16 раз(а) в 16 сообщениях
Отправить сообщение для MCseller с помощью ICQ
 
По умолчанию Re: Как получить середину строки?

Цитата:
Сообщение от iVs.DarkПосмотреть сообщение
спасибо =)
а регулярку можно сократить до <b>(.*?)</b>, там их больше нет.

ну если действительно больше нет тегов <b>, то естественно можно сократить, но и не забыть поставить индекс reg.Groups[5].Value заменить на
reg.Groups[1].Value. индекс=1 ибо если будет 0, то вам будет выдан результат в виде "<b>Заявка отправлена.</b>",т.е. с самим паттерном для регулярки.
  Ответить с цитированием
Старый 31.07.2011, 19:28   #5
Читер-спонсор
 Рыцарь-защитник
Аватар для Hermein
 
Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(
Регистрация: 14.01.2011
Сообщений: 633
Популярность: 28087
Золото Zhyk.Ru: 1
Сказал(а) спасибо: 90
Поблагодарили 717 раз(а) в 374 сообщениях
Отправить сообщение для Hermein с помощью ICQ Отправить сообщение для Hermein с помощью Skype™
 
По умолчанию Re: Как получить середину строки?

string newstr = str.Substring(25);
newstr=newstr.Remove(newstr.IndexOf("</b>"));
  Ответить с цитированием
Пользователь сказал cпасибо:
iVs.Dark (26.08.2011)
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Строки для Zhyk.ru KlouS Наше творчество 11 14.01.2014 00:30
[Информация] кк сделать ник в 2 строки love_kefirchika DotA Allstars 5 29.08.2010 11:08
Программа с++ (строки) fuzzion Вопросы и ответы, обсуждения 1 19.06.2010 19:31

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 19:06.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net