截取指定字符前的文本
把「每行一项」的列表按分隔字符串截取:默认取第一个分隔符之前的内容(适合 tom@example.com 取用户名),也可以取最后一个之前;没命中分隔符的行默认原样保留,可切换成丢掉,并给出命中与未命中行数。
浏览器本地运行所有计算都在你的浏览器里完成,数据不会离开本机。
列表
截取结果
一行一项,分隔符按字面量匹配,可直接复制。
输入列表与分隔字符串后即可截取
行数: 0 · 命中行: 0 · 未命中: 0
这个工具能做什么
- 从邮箱、URL 或「名称-编号」这类复合字段里只取分隔符左侧的部分做匹配或去重。
- 去掉「文件名.扩展名」的扩展名,或者从 `https://` 开头的行里只取协议名。
- 拆 `编号-名称` 时取编号,方便直接当成主键排序。
示例
输入
tom@example.com jerry@example.com 没有 at 的行
输出
tom jerry 没有 at 的行
取第一个 @ 之前的内容:邮箱列表变成用户名列表;没有 @ 的行原样保留,计入「未命中」。
常见问题
一行里有多个分隔符,取哪一个之前的?
默认取第一个之前(a@b@c 得到 a)。想取最后一个之前就把「取哪一段」切成「最后一个分隔符之前」,此时 a@b@c 得到 a@b。
没有分隔符的行会怎样?
默认原样保留,统计里的「未命中」会记下这些行。想让它们彻底消失就勾选「丢掉未命中行」,输出里只剩真正被截取过的行。
分隔符可以写多长?
任意长度,按字面量匹配(不是正则),例如 `://`、` - `、`::` 都行。空分隔符会报错:空分隔符等于「每个字符之前」,没有确定含义。
和「截取指定字符后」是一对吗?
是。两者用同一套分隔符与命中规则,只是取分隔符的左侧或右侧;把两者配合使用就能把一行按分隔符拆成两列。
中文字符算几个?
这个工具只按分隔字符串定位,不做字符计数,所以汉字、emoji 都不会被切坏;只有位置类工具才需要关心「一个汉字算几个字符」。
关键词:截取之前取分隔符前before delimitersplit before取 at 前截取指定字符前list before字符串前截取