cの私は、文字列から絵文字を削除したいが、それは私がの/考えたいくつかのオプション比べどのように文字列から非ASCII文字を削除 - #
string str = "Hello world ☀⛿";
string result = Regex.Replace(str, @"\p{Cs}", "");
cの私は、文字列から絵文字を削除したいが、それは私がの/考えたいくつかのオプション比べどのように文字列から非ASCII文字を削除 - #
string str = "Hello world ☀⛿";
string result = Regex.Replace(str, @"\p{Cs}", "");
動作しません:
string text = "Hello world ☀⛿END";
Console.WriteLine(text);
Console.WriteLine(Regex.Replace(text, @"\p{Cs}", ""));
Console.WriteLine(Regex.Replace(text, @"[^\u0000-\u007F]+", ""));
Console.WriteLine(text.Where(c => !Char.IsSurrogate(c)).ToArray());
をそして、これが結果です:
Hello world ??????END
Hello world ??END
Hello world END
Hello world ??END
ここに貼り付け、コピーされた後、あなたの入力文字列が、再度コピーおよびVIに貼り付けた場合、私はわかりませんスタジオはこのプロセスでいくつかの変更を受けていますが、私が見ていることから、明らかに2番目の選択肢がうまくいくようです。
すべての特殊文字を削除しますか?絵文字のみを削除しますか?
正規表現は何をすべきですか?あなたの目的には遠く離れているようにも見えません。 – Andrew
私は解決策が盲目的に取られていると思います。http://stackoverflow.com/a/28025891/3832970 –
Jon Skeetがそれを示唆していれば、それはうまくいくはずです。私はそれをサポートしていないオンラインの正規表現のページで試してみました。 – Andrew