我想删除除 Unicode emoticons 之外的所有非 ASCII 字符来自文本文件。我正在使用以下命令来删除所有非 ASCII 字符。
perl -i.bak -pe 's/[^[:ascii:]]//g'
可以修改此命令以排除表情符号字符吗?
编辑:
示例输入:早上好! #快乐#StPatricksDay♣♥😊
示例输出:早上好! #快乐#StPatricksDay😊
最佳答案
您可以像这样在 Perl 中指定范围:
s='Good morning! #Happy #StPatricksDay ♣♥😊'
echo "$s" | perl -C -pe 's/[^[:ascii:]\x{1F600}-\x{1F64F}]+//g'
Good morning! #Happy #StPatricksDay 😊
关于regex - Perl:删除除特定字符之外的所有非 ASCII 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29191885/