擅长:python、mysql、java
<p>优化解决方案:</p>
<pre><code>with open('raw.txt', 'r') as fin, open('clean.txt', 'w') as fout:
string_c_pat = re.compile(r'\s+stringC')
pat = re.compile(r"\s+(stringA|stringB|stringC)")
for line in fin: # traversing file as iterator
if string_c_pat.match(line):
next(fin) # skip `stringC` line and jump to next line
if not pat.match(line):
fout.write(line)
</code></pre>
<hr/>
<blockquote>
<p>using <code>re.compile()</code> and saving the resulting regular expression
object for reuse is more efficient when the expression will be used
several times in a single program.</p>
</blockquote>