If I have a string like "xktzMnTdMaaM", how do I delete everything except "M" and "T", so the resulting string is "MTMM"? Thanks in advance.
var input = "xktzMnTdMaaM"; var output = Regex.Replace(input, "[^MT]", string.Empty);
and if you want to be case insensitive:
var output = Regex.Replace(input, "[^mt]", string.Empty, RegexOptions.IgnoreCase);
To add Darin to the answer, you can solve it differently using LINQ if you want:
string.Concat("xktzMnTdMaaM".Where(c => "MT".Contains(c)))
. :
public static string RemoveNonMTChars(string str) { StringBuilder sb = new StringBuilder(); for (int i = 0; i < str.Length; i++) { if (str[i] == 'M' && str[i] == 'T') { sb.Append(str[i]); } } return sb.ToString(); }