编码解码哈希加密格式化时间转换开发生成文本处理网络工具其他工具
首页 / 文本处理 / 按列提取

按列提取

按分隔符提取某一列。

输入
结果

这个工具能做什么

这个工具做的事情很聚焦:把你粘贴进来的多行文本,按指定的分隔符逐行切开,再从每行的字段里提取某一列,拼成一段新文本。处理 CSV、日志、数据库导出或从表格复制来的内容时,经常只需要其中一列——一堆访问日志里只要 IP,一份用户表里只要邮箱。手工一行行删太笨,专门开 Excel 又嫌重,写正则对不熟的人也不友好。按列提取把「取第几列」这个高频小需求做成一步到位:粘贴、选分隔符、填列号,结果立刻出来。

它的工作方式本质上是对每行做一次字符串拆分(split)。每读到一行,就用你选的分隔符把这行切成一个字段数组,再按下标取出目标列;这种按分隔符提取的方式对规整数据既快又稳。列号支持从 1 开始正着数,也支持用负数从末尾倒着数——-1 是最后一列、-2 是倒数第二列,在字段数不固定、只关心末尾几列时特别顺手。分隔符可选逗号、制表符、空格等,其中制表符匹配的是真正的 \t 字符而非若干空格,所以处理 TSV 和多数命令行输出能精确对齐。整个拆分和列提取都在浏览器里用 JavaScript 即时完成,粘贴上万行也几乎无延迟。

举两个实际例子。第一个是从 Nginx 访问日志抽 IP:每行以空格分隔、客户端 IP 通常在第 1 列,选空格、填 1,就能把成千上万行日志压成一列纯 IP,再拿去做去重或频次统计。第二个是从导出的 CSV 用户表取邮箱:假设列序是 姓名、手机号、邮箱、注册时间,选逗号、填 3(或用 -2 从后往前数)就能单独拿到邮箱列,直接粘进校验或群发流程。其他像 SQL 查询结果、Markdown 表格、Excel 复制出的多列数据,想挑哪一列就填哪一列,原本要写脚本的活儿几秒钟就完成。

有几个边界情况值得留意。分隔符必须和数据的真实格式对齐——标准 CSV 里如果某个字段自身含逗号且被双引号包住(例如 "北京,朝阳区"),按纯逗号切会把它错拆成两列、导致后面列号整体错位,这类带转义的 CSV 更适合用专门的 CSV 解析器;本工具走的是直接 split,面向字段内不含分隔符的规整数据。其次,当某行列数不足、取不到指定列时,该行一般输出为空,方便你回查是不是原始数据缺列。它和「文本分列」「行列转换」这类工具的区别在于:按列提取只保留你指定的那一列,输出是单列结果,而不是把整行铺开成多列表格,目标更单一。

按列提取是一个免费的在线工具,打开网页就能用,不用下载也不用注册。平时大家搜的“按列提取”、“提取某列”、“分隔符提取”,说的都是这个。

常见使用场景

使用方法

  1. 把内容粘贴到输入框(生成类工具直接设置选项)。
  2. 按需要选择选项,点操作按钮。
  3. 结果出现在下方,点「复制结果」即可带走。

常见问题

列号是从 0 还是从 1 开始数?
从 1 开始数,第 1 列填 1、第 2 列填 2,符合「第几列」的日常习惯,不用像写代码那样从 0 起算。负数则从末尾倒数,-1 表示最后一列、-2 表示倒数第二列。
制表符(Tab)分隔的数据怎么提取?
把分隔符选成制表符即可,它匹配的是真正的 \t 字符,而不是把连续空格当作分隔。从 Excel、TSV 文件或很多命令行工具复制出来的列间就是制表符,用这个选项能精确对齐、不会错列。
为什么提取结果里有些行是空的?
多半是那几行的实际列数不够、取不到你指定的列,于是返回空。检查分隔符选得对不对、目标行是不是少了字段,或行尾有没有多余分隔符导致列数错位。
支持一次取多列或按范围取列吗?
这个工具专注取单独一列,一次输出一列结果。若要多列,可以分别提取后再自行拼接,或改用文本分列、行列转换一类的工具。
数据量大或涉及敏感信息,安全吗?
拆分和取列全部在你浏览器本地完成,数据不上传服务器,日志、用户表这类敏感内容也能放心处理。数据量大时的瓶颈主要是浏览器内存,一般几万到几十万行都能应付。

相关工具

查看全部「文本处理」工具 →