Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / как через RegEx решить задачу поиска i-го текста / 6 сообщений из 6, страница 1 из 1
24.04.2014, 10:14
    #38624048
flashslash
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как через RegEx решить задачу поиска i-го текста
Всем привет!

Парни, у меня такой интересный вопрос...
кто-нибудь знает как в C# через RegEx решить задачу поиска i-го текста и одновременной замены его на на i-й шаблон?

есть строка:

Код: c#
1.
string s = "<b>text1</b>  <b>text2</b> ... <b>textN</b>";



нужно используя RegEx пройтись по всем <b>..</b> и его содержимое заменить не на одно и то же, а

text1 заменить на text_11
text1 заменить на text_22
...
textN заменить на text_NN
...
Рейтинг: 0 / 0
24.04.2014, 10:43
    #38624112
как через RegEx решить задачу поиска i-го текста
...
Рейтинг: 0 / 0
24.04.2014, 10:51
    #38624126
flashslash
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как через RegEx решить задачу поиска i-го текста
как-то так...,

мне кажется вы не поняли...

задача не просто найти, а найти и заменить все в одной строке, причем на разные значения..

Matches - дает группу найденных значений,
replace заменяет все найденное...
а что толку?
Мне надо сделать replace не на всем множестве, а только на первом найденном хотя бы ..
...
Рейтинг: 0 / 0
24.04.2014, 10:55
    #38624139
flashslash
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как через RegEx решить задачу поиска i-го текста
придумал один извращенный способ, но пока единственный.

C помощью Matches найти коллекцию <b>X</b>,
брать содержимое X и пихать его в replace.
Соответственно replace заменит все найденные X на нужный текст.
...
Рейтинг: 0 / 0
24.04.2014, 13:28
    #38624511
petalvik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как через RegEx решить задачу поиска i-го текста
flashslash,

и нифига не интересный вопрос. Хотя, небольшое денежное вознаграждение живо меня заинтересовало бы...
Тем не менее:
Код: c#
1.
2.
3.
4.
5.
string s = "<b>text1</b>  <b>text2</b>  <b>textN</b>";
string[] t = { "aaa", "bbb", "ccc" };
string pattern = "<b>.*?</b>";
int index = 0;
string result = Regex.Replace(s, pattern, m => { return t[index++]; });
...
Рейтинг: 0 / 0
25.04.2014, 12:13
    #38625581
как через RegEx решить задачу поиска i-го текста
flashslashпридумал один извращенный способ, но пока единственный.

C помощью Matches найти коллекцию <b>X</b>,
брать содержимое X и пихать его в replace.
Соответственно replace заменит все найденные X на нужный текст.
Код: c#
1.
2.
3.
4.
5.
String str = "<b>text1</b>  <b>text2</b> ... <b>text808</b>";
String pattern = @"<b>([a-z]+)(\d+)<\/b>";
String replacment = "<b>$1_$2$2</b>";
                       
Console.WriteLine(Regex.Replace(str, pattern, replacment));


успехов!
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / как через RegEx решить задачу поиска i-го текста / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]