我想从字符串中删除表情符号,但它不起作用
string str = "Hello world ☀⛿";
string result = Regex.Replace(str, @"\p{Cs}", "");
答案 0 :(得分:4)
我比较了我发现/想到的几个选项:
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
我不确定您的输入字符串在复制,粘贴到此处,再次复制并粘贴到Visual Studio中后是否会在此过程中进行一些修改,但从我看到的情况来看,显然第二个选项看起来效果更好。
是否要删除所有特殊字符或仅表情符号?