Тема: Регулярні вирази. Замінити слово
Потрібно знайти слово "from" і замінити його.
Приклад:
"data_and_more_data\n\rfrom the_end"
"data_and_more_data from the_end"
Замінити на:
"data_and_more_data REPLACED the_end"
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
using System.Text.RegularExpressions;
namespace Rextester
{
public class Program
{
public static void Main(string[] args)
{
var query = "data_and_more_data\n\rfrom the_end";
var rr = "REPLACED";
Regex rgx2 = new Regex("\bfrom\b", RegexOptions.IgnoreCase);
query = rgx2.Replace(query, rr, 1);
Console.WriteLine("= " + query);
}
}
}
Проблема в тому що new Regex(" from ", RegexOptions.IgnoreCase); не заміняє слово якщо воно розпочинається з нового рядка,
а варіант new Regex("from", RegexOptions.IgnoreCase); заміняє уривок слова (Наприклад: frommer на REPLACEDmer)
Word Boundary: \b - має вирішити цю проблема... але чомусь не спрацьовує...
Як замінити слово "from" так щоб враховувався пробіл та знак нового рядка, але не відбувалася заміна якщо перед/після слова йдуть будь-які символи (окрім пробілу чи нового рядка) ?