【发布时间】:2019-09-13 18:52:58
【问题描述】:
我有很多行格式如下的文件:
字 -0.15636028 -0.2953045 0.29853472 ....(在数百个浮点数之前的一个单词,由空格分隔)
由于一些我无法控制的错误,这个词有时会有空格。
a bbb c -0.15636028 -0.2953045 0.29853472 ....(数百个浮点数)我希望用下划线代替,以便得到:
a_bbb_c -0.15636028 -0.2953045 0.29853472 ....(几百个浮点数)已经为每一行尝试了以下替换代码:
s/\s(?=(\s-?\d\.\d+)+)/_/g;
因此,环顾四周显然不是解决方案。 如有任何线索,我将不胜感激。
【问题讨论】:
-
浮动列的数量是固定的吗? “a bbb c”可以包含数字吗?
-
是的,它也可以包含数字。
-
...浮动的数量可能会有所不同,但对于任何处理的文件都是相同的。
-
文件中的所有行是否总是相同的(即一个单词后跟浮点数)?是否有标题第一行(带有列名),您可以从中推断出列数?
-
是的,有这样一个header。我知道预期的花车数量。
标签: perl regex-lookarounds substitution