如何连接文件中以 //! 开头的所有行使它们在 python 中成为一行

如何连接文件中以 //! 开头的所有行使它们在 python 中成为一行

所以文件看起来像这样

void funct_example ( int stamo)
{
    //! ID{SWERT- 12345} this is function that is suppose to take
    //! IDREF{SYA-dfjk} 
    return(stamo)
}

void funcert (string nitr)
{
    //! ID{SWERT-1324} this function is to store the string and parse it
    //! IDREF{SYA-5677} 
    return(nitr)
}

我想打开此文件并将所有以 开头的行合并//!为一行

答案1

由于您的问题不是很详细,这正是您所描述的:

import re

' '.join([line.rstrip() for line in open('/path/to/file') if re.match('^\s*//!', line)])

它循环遍历文件并过滤与 regex 匹配的行^\s+//!,然后输出删除了所有尾随空格或换行符的行列表,最后用空格连接该列表。

如果您希望在没有前导空格的情况下连接行,或者//!只需要在行输出中添加正则表达式替换:

import re

' '.join([re.sub('^\s+//!\s*', '', line.rstrip()) for line in open('/path/to/file') if re.match('^\s*//!', line)]

相关内容