【问题标题】:Replace all dots with commas in numbers within a TXT file将 TXT 文件中数字中的所有点替换为逗号
【发布时间】:2018-07-29 20:18:46
【问题描述】:

假设我在一个 TXT 文件中有这种类型的数据块。在左边,我有标签。在右边,我有数字。

P100-CPAMT                        2040.72
P100-CPPCT                        3.78
P100-CPPSA                        21223.67
P100-CURRE                        USD

P100-CPAMT                        2000.74
P100-CPPCT                        7.23
P100-CPPSA                        2323.35
P100-CURRE                        USD


P100-CPAMT                        2212.72
P100-CPPCT                        5.89
P100-CPPSA                        2768923.35
P100-CURRE                        USD

如果可能的话,我需要做的是找到一种方法:

1) 识别标签等于“P100-CPAMT”或“P100-CPPCT”或“P100-CPPSA”的行

2) 按照 1) 将与标签关联的数字中的点替换为逗号。

欢迎任何建议

【问题讨论】:

  • 你的操作系统是什么?
  • Windows 10(意大利语)
  • 我不做windows,所以不知道你有没有默认sed。也许,我听说有一个 bash :)。 git-scm.com/download/win">Gitbash 是一个包含 sed 以及其他 GNU 工具的软件包。
  • 感谢您的回答。你知道除了sed之外的其他方法吗? (我想到了一个 VBA 代码?)
  • 正则表达式是执行此操作的优雅方式。 blog.udemy.com/vba-regex 是关于 VBA + RegEx,您可能会发现它很有用。也许您可以使用某种形式的 Excel 导出,或将文本导入到...我想您需要将美国/英国数字转换为意大利语...

标签: text comma


【解决方案1】:

如果你有 sed,通过这个管道你的文件

sed -re 's/^(P100[^0-9]*)([0-9]+)*[.]([0-9]+)/\1\2,\3/'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-21
    • 1970-01-01
    • 2019-06-19
    • 1970-01-01
    • 2023-01-05
    • 2015-01-25
    相关资源
    最近更新 更多