Aristotle
发布于 2024-04-19 / 2 阅读 / 0 评论 / 0 点赞

使用notepadd++删除中文字符及标点符号

使用notepadd++删除中文字符及标点符号:

查找替换框勾选正则表达式,输入一下

方法一:[一-龥!-~],可以去除中文和标点符号,部分中文标点符号不能去掉

方法二:[\x{4e00}-\x{9fa5}]|[^\x{00}-\x{ff}]

参考:

https://documentation.help/Andy-Niu-zh/group___xE5_xB8_xB8_xE7_x94_xA8_xE6_xAD_xA3_xE5_x88_x99_xE8_xA1_xA8_xE8_xBE_xBE_xE5_xBC_x8F.html

1、对于中文字符,根据unicode的特点,使用[\u4e00-\u9fa5]匹配。
2、但是在notepad++中,不能这样使用。需要:
    菜单-->格式-->转为UTF-8
    使用[\x{4e00}-\x{9fa5}]
3、[\x{4e00}-\x{9fa5}]匹配中文字符,不包括中文的标点符号,要匹配中文标点符号没有好的办法,
    使用[,。、:]
4、[\x{00}-\x{ff}]用于匹配英文单字节字符,那么[^\x{00}-\x{ff}]匹配双字节字符,包括中文字符和标点符号。
    中括号的减号表示从xxx到xxx
    [\x{00}-\x{ff}]也就是[\x{0000}-\x{00ff}],匹配第0个到第255个字符,主要是英文字符。
    [^\x{00}-\x{ff}]也就是[\x{0100}-\x{ffff}],匹配第\x{0100}个到第\x{ffff}个字符。中文字符的编码必定大于\x{00ff}。