文本行按位置截取
对「每行一项」的列表按位置区间截取:起始与结束位置都从 1 开始、含两端,可勾选「截到行尾」忽略结束位置;按 Unicode 码点计数,一个汉字或 emoji 算一个字符,区间超出行长时按行尾截断而不报错。
浏览器本地运行所有计算都在你的浏览器里完成,数据不会离开本机。
列表
截取结果
一行一项,含两端,按 Unicode 码点计数。
输入列表与区间后即可按位置截取
行数: 0 · 改动行: 0 · 保留字符: 0 · 删除字符: 0
这个工具能做什么
- 从定长记录里抠出中间一段,例如订单号里的日期部分、编号里的序号段。
- 整理导出数据:只保留每行第 2 到第 5 个字符,把表格列宽压齐。
- 配合「截到行尾」开关做两种取法:固定区间取中段,或者从某个位置一路取到结尾。
示例
输入
订单A1001 订单B2002 订单C3003
输出
A100 B200 C300
取第 3 到第 6 个字符(含两端):汉字按 1 个字符算,所以「订单A1001」截出 A100。
常见问题
位置从 1 开始还是 0 开始?
从 1 开始,和「第几个字符」一致,填 0 或负数直接报错。区间含两端:起始 2、结束 4 得到第 2、3、4 个字符,共 3 个。
结束位置比起始位置小会怎样?
直接报错「输入无法处理」,不会静默返回空结果。如果你想要「从某位一直取到行尾」,请勾选「截到行尾」,这时结束位置会被忽略,也就允许它小于起始位置。
起始位置超过行长怎么办?
该行结果为空,默认再按空行丢掉,不会报错也不会补空格。这样一份长短不一的数据可以共用同一个区间,统计里的「保留字符」只计算真正取到的字符数。
中文字符算几个?
一个汉字算 1 个字符、一个 emoji 也算 1 个字符,按 Unicode 码点计数,所以不会从半个汉字或半个 emoji 中间切开。组合 emoji(如带肤色的人像)按码点会算多个字符。
关键词:按位置截取区间截取substring rangeslice lines取第几到第几位文本行截取list slice行区间