Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 从Haskell中的字符串中删除所有表情符号_Regex_Haskell_Unicode - Fatal编程技术网

Regex 从Haskell中的字符串中删除所有表情符号

Regex 从Haskell中的字符串中删除所有表情符号,regex,haskell,unicode,Regex,Haskell,Unicode,不久前我制作了一个乳齿象/推特IRC机器人。它一直工作得很好,但有人抱怨说,当人们在mastodon上使用表情符号时(这在一些用户名中似乎经常发生),它会破坏他的终端 我想知道在发送到IRC之前是否有办法将这些内容从ByTestRing中删除(或者至少提供一个选项),通过谷歌搜索我发现: 如果我理解正确,看起来\U0001F600-\U0001F64F应该是表情符号的范围,但我从来没有使用过regex。有什么简单的方法可以把它翻译成Haskell吗?我试着读了一些关于正则表达式的内容,但我只得到

不久前我制作了一个乳齿象/推特IRC机器人。它一直工作得很好,但有人抱怨说,当人们在mastodon上使用表情符号时(这在一些用户名中似乎经常发生),它会破坏他的终端

我想知道在发送到IRC之前是否有办法将这些内容从ByTestRing中删除(或者至少提供一个选项),通过谷歌搜索我发现:

如果我理解正确,看起来\U0001F600-\U0001F64F应该是表情符号的范围,但我从来没有使用过regex。有什么简单的方法可以把它翻译成Haskell吗?我试着读了一些关于正则表达式的内容,但我只得到了“字符串中的词汇错误/字符在字符'U'处的文字错误”,当我尝试时,我假设语法一定是python的东西


感谢您不是表情符号或unicode专家,但这似乎很有效:

isEmoji::Char->Bool
isEmoji c=让uc=来自枚举c

在uc>=0x1F600&&uc中,Unicode字符由一个反斜杠表示,对于十六进制,后跟可选的
x
,对于八进制,后跟可选的
o
,对于表示字符[0]的十进制数,后跟零:


putStrLn“\x1f600”--看起来效果不错!非常感谢,实际上比我想象的简单多了。一个简单的>=不需要
来自enum
,只需
isEmoji c=c>='\x1f600'&&c范围是0x1f000..0x1f9ff:谢谢,这确实有效!我选择了另一个答案,因为我认为它更轻,但两者都达到了我想要的