所以文件看起来像这样
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)]