文字列から次のすべての文字 (および空白も) を削除できる正規表現を探しています。
~ % & \ ; : " ' , < > ? #
次のコードで試しました:
var MyCleanString = Regex.Replace(InputString, @"[~%&\\;:,<>?#\s]", String.Empty);
そしてそれは機能していません。
以下のコードは「abcdef」を出力するので、なぜそれが機能しないと言うのかわかりません。
var InputString = "abc~%&\\;:,<>?# def";
var MyCleanString = Regex.Replace(InputString, @"[~%&\\;:,<>?#\s]", String.Empty);
Console.WriteLine(MyCleanString);
これを試して :
public static string RemoveChar(string input)
{
Regex r = new Regex("(?:[^a-z0-9 ]|(?<=['\"])s)", RegexOptions.IgnoreCase | RegexOptions.CultureInvariant | RegexOptions.Compiled);
return r.Replace(input, String.Empty);
}