如何移除竖线分隔字符串末尾的数字?附示例
移除竖线分隔字符串末尾的数字部分
下面提供几种实用的处理方案,适配不同场景:
一、命令行工具sed(适合Linux/macOS批量处理)
直接用正则匹配并替换行尾的数字段:
sed 's/|[0-9.]\+$//' 原始数据文件.txt > 处理后文件.txt
说明:正则|[0-9.]\+$精准匹配行尾的|+整数/小数组合,替换为空后自动保留最后一个|。
二、Python脚本(适合编程场景或复杂批量处理)
方案1:分割重组法
with open("原始数据.txt", "r") as infile, open("处理后数据.txt", "w") as outfile: for line in infile: # 按|分割字符串,剔除最后一个数字元素后重新拼接 segments = line.strip().split("|") processed_line = "|".join(segments[:-1]) + "|\n" outfile.write(processed_line)
方案2:正则替换法
import re pattern = re.compile(r"\|[0-9.]+\s*$") with open("原始数据.txt", "r") as infile, open("处理后数据.txt", "w") as outfile: for line in infile: # 替换行尾的数字段为| processed_line = pattern.sub("|", line) outfile.write(processed_line)
三、Excel/WPS表格(适合可视化处理少量数据)
- 分列拆分:选中数据列,点击「数据-分列」,分隔符选
|,将数据拆分为多列。 - 删除数字列:删除最后一列(纯数字/小数的列)。
- 拼接还原:在空白单元格输入公式
=TEXTJOIN("|", TRUE, A1:H1)&"|"(假设拆分后数据在A到H列),下拉填充所有行即可。
内容的提问来源于stack exchange,提问作者Gayan Hemachandra
相关产品推荐
相关产品推荐

