Например, у меня есть код ниже, представляют txt в виде строки =, "У меня есть строки как Запад и Запад; и запад, и Западный".
Я хотел бы заменить слово на запад или Запад с некоторым другим словом. Но я хотел бы не заменить Запад в Западном.
inputText.Replace("(\\sWest.\\s)",temp);
Это DOS не работает.Для замены всего слова (а не части слова):
string s = Regex.Replace(s, @"\bwest\b", "something");
Вы смотрели Regex.Regex.Replace
? Также не забудьте поймать возвращаемое значение; Replace
(через любой строковый механизм) возвращает новую строку - она не выполняет замену на месте.
Я согласен с решением Роберта Харви, за исключением одной небольшой модификации:
s = Regex.Replace(s, @"\bwest\b", "something", RegexOptions.IgnoreCase);
Это заменит как «Запад», так и « west "новым словом
Используйте этот код, если хотите, чтобы он не учитывал регистр
string pattern = @"\bwest\b";
string modifiedString = Regex.Replace(input, pattern, strReplacement, RegexOptions.IgnoreCase);
Попробуйте использовать класс System.Text.RegularExpressions.Regex
. Он имеет статический метод Replace
. Я плохо разбираюсь в регулярных выражениях, но что-то вроде
string outputText = Regex.Replace(inputText, "(\\sWest.\\s)", temp);
должно работать, если ваше регулярное выражение правильное.