using System.Text.RegularExpressions;
public static void Main()
"column1", "column2", "column3", "column4", "column5",
"column6", "column7", "column8", "column9", "column10"
string pattern = string.Join("|", columns);
string combinedPattern = @"\b(" + pattern + @")\b(?:(?:[^\p{L}]*)|(n/a|Not filled|uk|unknown))\b(" + pattern + @")\b";
string input = "hello this is column2 n/a column3 is my test";
string result = Regex.Replace(input, combinedPattern, m => m.Groups[3].Value);
Console.WriteLine(result);