如果我有'xktzMnTdMaaM'之类的字符串,如何删除除'M'和'T'之外的所有内容 - 所以生成的字符串是'MTMM'?提前感谢。
答案 0 :(得分:19)
var input = "xktzMnTdMaaM";
var output = Regex.Replace(input, "[^MT]", string.Empty);
如果您想要不区分大小写:
var output = Regex.Replace(input, "[^mt]", string.Empty, RegexOptions.IgnoreCase);
答案 1 :(得分:0)
要添加Darin的答案,如果您愿意,可以使用LINQ以不同方式解决此问题:
string.Concat("xktzMnTdMaaM".Where(c => "MT".Contains(c)))
答案 2 :(得分:0)
使用正则表达式从您的问题描述听起来有点矫枉过正。您可以像这样推出手动解决方案:
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();
}