Как заменить один дефис, но не трогать два рядом

lamer95

Client
Регистрация
30.07.2013
Сообщения
13
Благодарностей
4
Баллы
3
Здравствуйте.
У меня есть текст, в котором я заменяю функцией "Обработка текста" все дефисы на пробелы. Но в тексте встречаются два дефиса (--), которые не нужно трогать. Чаще всего дефис идет внутри слов, например, "кое-кто", а перед двумя дефисами идет пробел, а потом слово/буква, например, " --gf". Лучше, конечно, применить, что-то универсальное, не используя, где и какие слова/буквы идут рядом.
Как это реализовать, подскажите, пожалуйста?
 

samsonnn

Client
Регистрация
02.06.2015
Сообщения
1 836
Благодарностей
1 538
Баллы
113
Здравствуйте.
У меня есть текст, в котором я заменяю функцией "Обработка текста" все дефисы на пробелы. Но в тексте встречаются два дефиса (--), которые не нужно трогать. Чаще всего дефис идет внутри слов, например, "кое-кто", а перед двумя дефисами идет пробел, а потом слово/буква, например, " --gf". Лучше, конечно, применить, что-то универсальное, не используя, где и какие слова/буквы идут рядом.
Как это реализовать, подскажите, пожалуйста?
в переменную InputText пихаете ваш текст, предварительно без "Обработка текста" все дефисы на пробелы, этот код сам заменит и все сделает.
а в переменной OutputText будет результат.
C#:
string pattern = @"(?<![-<])-(?![->])";
project.Variables["OutputText"].Value = Regex.Replace(project.Variables["InputText"].Value, pattern, " ");
 
  • Спасибо
Реакции: lamer95

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)