Unix环境下如何对比并输出字符串中的差异值?
字符串差异提取实现
需求说明
给定两组以空格分隔的字符串,需跳过前两个相同字段,提取并对比后续差异部分,输出指定格式的结果。
输入内容:
A=00000 1 001055 37 002001 279 B=00000 1 001045 65 004060 23
预期输出:
存在差异 数值序列 = 001055 37 002001 279 001045 65 004060 23
实现思路
- 拆分每行字符串,去除前缀(
A=/B=)后按空格分割成字段列表; - 跳过前两个字段,提取后续需要对比的部分;
- 判断提取的部分是否相同,若不同则按指定格式输出差异内容。
示例代码(Python)
# 输入的两行字符串 line_a = "A=00000 1 001055 37 002001 279" line_b = "B=00000 1 001045 65 004060 23" # 处理字符串,提取核心字段 parts_a = line_a.split('=')[1].split() parts_b = line_b.split('=')[1].split() # 提取从第三个字段开始的内容 diff_a = ' '.join(parts_a[2:]) diff_b = ' '.join(parts_b[2:]) # 对比并输出结果 if diff_a != diff_b: print("存在差异") print(f"数值序列 = {diff_a}") print(f" {diff_b}") else: print("无差异")
代码运行结果
存在差异 数值序列 = 001055 37 002001 279 001045 65 004060 23
内容的提问来源于stack exchange,提问作者Raj Kumar C
相关产品推荐
相关产品推荐

