notepad++无原生词频统计功能,仅支持字符串匹配计数;最直接方式是ctrl+f打开查找框,勾选“匹配整个单词”和“区分大小写”,点击“计数”按钮获取出现次数,结果为匹配项数量而非字符数。

Notepad++ 没有“词频统计”功能,只有字符串匹配计数;它数的是“出现位置”,不是“单词”——比如 user_id 里搜 user,默认会算进去,除非你手动加边界或开正则。
用 Ctrl + F 的计数功能最直接
这是唯一原生、零插件、能立刻出结果的方式。打开查找框后注意三点:
- 勾选
匹配整个单词:避免error匹配到errors或enderror - 勾选
区分大小写:如果Error和error语义不同,必须开;否则默认全小写也算 - 点击右下角
计数按钮:状态栏显示类似找到 12 处,不跳转、不高亮,只返回总数
注意:计数 统计的是“匹配项数量”,不是“该词在文档中占多少字符”。一行里出现两次 const,就算 2 次;哪怕它们连在一起写成 constconst,也照算。
想精确匹配单词边界?必须开正则 + \b
当 匹配整个单词 不够用(比如搜 _id、500、中文词),就得切到正则模式:
- 启用
正则表达式模式(此时匹配整个单词选项自动禁用) - 输入
\buser\b:\b表示单词边界,能排除username中的user - 但
\b对中文无效(U+4E00–U+9FFF 范围内无传统“边界”概念),搜中文建议用(^|\s)用户(\s|$)这类上下文锚定 -
.*error.*这种写法会跨行匹配,若文档含换行符,可能把两行拼一起算作一次——计数功能本身不校验逻辑完整性
统计结果不准?先看这三处编码和换行一致性
计数不准往往不是正则写错,而是环境没对齐:
- 确认文件编码:右下角状态栏显示
UTF-8还是GBK?混合编码文件(如部分行 GBK、部分 UTF-8)会导致某些字符无法被正则正确识别 - 检查换行符类型:
LF(Unix)、CRLF(Windows)、CR(Mac)会影响^和$的行为;正则中.默认不匹配\n,要跨行得显式勾选. 匹配换行符 - 空格/不可见字符干扰:
user_id和user_id看起来一样,但后者末尾可能带\t或\u200b(零宽空格),导致计数漏掉——建议先用视图 → 显示符号 → 显示所有字符排查
别拿 查找→计数 当字数工具
有人输完 的 就点计数,看到 找到 87 处,误以为全文 87 字。其实它只回答一个问题:“目标字符串出现了几次”,和总长度无关。
真正要查总字符数,请按 Ctrl + Shift + C ——弹窗里的 Characters 才是 Unicode 字符数(一个汉字、一个 Emoji、一个空格都算 1);而状态栏的 length: xxx 和 视图 → 摘要 里的 chars: xxx 全是字节数,UTF-8 下中文占 3 字节,不能直接当“字数”读。
复杂点在于:正则能帮你筛出特定结构(比如所有 console.log(.*?)),但没法自动剔除注释块里的匹配——Notepad++ 不解析语法树,它只做文本扫描。这点容易被忽略,尤其处理代码时。











