我有一个包含具有以下结构的文本文件的文件夹:
@ATTRIBUTE dynamics_rms_Mean NUMERIC
@ATTRIBUTE dynamics_rms_Std NUMERIC
@ATTRIBUTE dynamics_rms_Slope NUMERIC
@ATTRIBUTE dynamics_rms_PeriodFreq NUMERIC
@ATTRIBUTE dynamics_rms_PeriodAmp NUMERIC
@ATTRIBUTE dynamics_rms_PeriodEntropy NUMERIC
@DATA
9.749956e-01 2.257056e-01 1.667380e-01 NaN NaN 9.706193e-01
我想使用Sublime Text来查找并替换所有这些文本文件中@DATA
下面的“空格”字符,但保留以开头的行中的空格@ATTRIBUTE
。
我找到了一种方法来选择文本文件中的所有空格,但我不知道如何仅选择 @DATA
之后的空格并在每个文件中替换它们(使用 ctrl+shift+f)。
如果有任何有关如何解决此问题的建议,我将不胜感激,提前致谢。
最佳答案
您可以使用此搜索/替换:
搜索:(?:\G(?!^)|^@DATA\R)[^ ]+\K[ ]
替换:,
图案详细信息:
(?: # non-capturing group
\G # anchor for the position of the last match
(?!^) # not at the start of a line
| # OR
^ # start of a line
@DATA
\R # any newline sequence
)
[^ ]+ # one or more characters that are not a space
\K # discards all on the left from the match result
[ ] # a space
要处理连续的几行数据并停在第一个空行,您需要将模式更改为:
(?:\G(?!^)|^@DATA\R)[^\n ]+(?:\R[^\n ]+)?\K[ ]
关于regex - 在多个文本文件中查找某个关键字后的空格并用逗号替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31380901/