如果我有“我爱我的国家:)这样的字符串:D。我喜欢自己:P -_-。”,如何删除除表情符号之外的所有内容 - 所以生成的字符串应该没有任何文字? 输入字符串或文本可以是任何类型。
我正在使用正则表达式
Regex.Replace(str, "[A-Za-z]", "");
但它也删除了“:D:P”笑脸中的“P”“D”。那么正则表达式会是什么?
提前致谢。
答案 0 :(得分:0)
有很多表情符号所以你会这样。以非常漫长而复杂的正则表达结束但是。在这种情况下,我认为你只关心替换后的两个'腐败'表情符号。因此,如果是这种情况,这应该有效:
[ABCE-OQ-Za-oq-z]|(?<!:)D|(?<!:)[Pp]
ABC上的常规表达式匹配,从E到O的范围,然后是Q到Z的ragne,小写字母从a到o和q到z匹配。正则表达式中的关键部分是,如果匹配的char前面没有冒号,它只匹配D,P和p。此功能称为环视(或在此确切用例中为lookbehind)。