notepad++ 唯一原生词频统计方式是 ctrl+f → 输入目标 → 勾选“匹配整个单词”和/或“区分大小写” → 点击“计数”;结果为匹配位置数,非语义词数,且受编码、换行符、不可见字符影响。

Notepad++ 本身不支持“词频统计”,只支持字符串匹配计数——它数的是“出现位置”,不是“语义上的词”。想快速得到某个词(如 user_id、error、用户)出现几次,唯一原生、零插件、立刻出结果的方式是 Ctrl+F → 输入目标 → 点击“计数”。
用 Ctrl+F 的“计数”功能最直接
这是 Notepad++ 唯一内置的频次统计入口,无需安装插件、不依赖外部工具。打开查找框后注意三点:
- 勾选“匹配整个单词”:防止
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 字节,不能直接当“字数”读 -
查找→计数的适用场景很明确:检查术语使用密度、统计日志关键字、核对模板占位符(如{{name}})是否漏写
真正容易被忽略的是:Notepad++ 的计数结果依赖当前文档编码和换行符格式。UTF-8 with BOM 和 Unix/Linux 换行(LF)下结果一致,但若文档混有 Windows(CRLF)和 Mac(CR)换行,某些正则边界(如 $)可能失效,导致计数偏少——别只看数字,先确认文档一致性。











