我想删除某个范围内的 Unicode,例如:
echo "abc???123" | sed 's/[\uff21-\uff3b]//g'
期望"abc123",但得到:
sed: -e 表达式 #1, char 20: 无效范围结束
或使用:
echo "abc???123" | sed 's/[?-?]//g'
得到:
sed: -e 表达式 #1, char 14: 无效的排序规则字符
Unicode 支持sed没有明确定义。使用命令行可能会更好perl:
echo "abc\xef\xbc\xa1\xef\xbc\xa2\xef\xbc\xa3123" | perl -CS -pe \'s/[\\x{FF21}-\\x{FF3B}]+//g\'\n\nabc123\nRun Code Online (Sandbox Code Playgroud)\n\n使用很重要-CS标志非常重要,这样才能获得输入/输出/错误的正确 UTF8 编码。
| 归档时间: |
|
| 查看次数: |
813 次 |
| 最近记录: |