我有一个包含数百行的文本文件,我想将每行的特定结束 block (可变的开始长度,“AS”之后的所有内容)移动到特定的列位置。
这是我需要定期执行的任务。我现在在 Notepad++ 中使用 find-n-replace 操作进行这种特殊的格式化,但最后的步骤是繁琐的手动制表符排列。
原始模式如下(这是在通过 find-n-replace 操作进行一些初始格式化操作之后):
red.id AS red_identifier
red.c AS red_color
mbr.red_mbr AS red_member
stat.red_stat AS red_status
我希望格式如下,所有“AS ...”部分从 x 列开始:
red.id AS red_identifier
red.c AS red_color
mbr.red_mbr 作为 red_member
stat.red_stat AS red_status
任何帮助将非常感激! Notepad++ 可以处理这个问题吗? Python(我唯一知道的语言)脚本是否合适?
最佳答案
您可以通过两步完成此操作:
说明:
\h+ # 1 or more horizontal spaces
(?= # start lookahead, zro-length assertion to make sure we have after:
AS # literally AS
\b # word boundary to make sure we don't match AS... (i.e. Asterisk)
) # end lookahead
给定示例的结果:
red.id AS red_identifier
red.c AS red_color
mbr.red_mbr AS red_member
stat.red_stat AS red_status
结果:
关于python - 如何将某些行文本、可变位置移动到特定列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54540291/