Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Регексы, как узнать, была ли успешной замена? 
:(
    Опции темы
Suppir
Дата 8.8.2011, 13:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 588
Регистрация: 20.4.2009

Репутация: нет
Всего: нет



Есть строка line

Необходимо в случае, если в начале строки стоят слова "Постановление" или "Распоряжение", удалить это слово с пробелом, а в последующем слове сделать первую букву заглавной. Пишу:

Код

if (Regex.IsMatch(line, "^(Постановление|Распоряжение)\\s{1,}", RegexOptions.IgnoreCase))
{
    line = Regex.Replace(line, "^(Постановление|Распоряжение)\\s{1,}", "", RegexOptions.IgnoreCase);
    line = line.Substring(0, 1).ToUpper() + (line.Length > 1 ? line.Substring(1) : "");
}


Как убрать лишнюю проверку регулярными выражениями? Т.е. сразу применить Regex.Replace, а в случае успеха применять Substring.ToUpper на следующее слово. 

Это сообщение отредактировал(а) Suppir - 8.8.2011, 13:41
PM MAIL   Вверх
Suppir
Дата 8.8.2011, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 588
Регистрация: 20.4.2009

Репутация: нет
Всего: нет



Второй вопрос:

Есть переменная key, которая составляется следующим образом:

Код

key = date + " " + match.Groups[3].Value.Replace(" ", "") + " " + match.Groups[1].Value + " " + match.Groups[4].Value;


Как сделать toLower() для составной переменной?

Вот так не работает:
Код

key = (date + " " + match.Groups[3].Value.Replace(" ", "") + " " + match.Groups[1].Value + " " + match.Groups[4].Value).toLower; 

PM MAIL   Вверх
VSB
Дата 15.8.2011, 15:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 113
Регистрация: 23.8.2007

Репутация: 1
Всего: 2



Первое проще никак не сделать

А во втором забыт вызов функции

key = (date + " " + match.Groups[3].Value.Replace(" ", "") + " " + match.Groups[1].Value + " " + match.Groups[4].Value).ToLower(); 

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0398 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.