<p>试试这个:</p>
<pre><code>with open('input.txt') as fp:
res = '\n'.join([' '.join([x.split('.')[-1] for x in line.strip().split()]) for line in fp])
print(res)
</code></pre>
<p><strong>输出:</strong></p>
<pre><code>IntArrayListTest:testReplaceFromToWith() IntArrayListTest:assertEquals(long,long)
IntArrayListTest:testRetainAllSmall() IntArrayList:<init>()
RandomUtilsTest:testNextTwinPrime() RandomUtils:nextTwinPrime(int)
OpenLongCharHashMapTest:testValues() CharArrayList:size()
FunctionTest:testIsDensifying() DoubleDoubleFunction:isDensifying()
</code></pre>
<p>另一种方法:</p>
<pre><code>with open('input.txt') as fp:
res = ''
for line in fp:
x, y = line.strip().split()
x, y = x.split(':'), y.split(':')
x = x[1].split('.')[-1] + ':' + x[-1]
y = y[0].split('.')[-1] + ':' + y[-1]
res += x + ' ' + y + '\n'
print(res)
</code></pre>
<p><strong>输出:</strong></p>
<pre><code>IntArrayListTest:testReplaceFromToWith() IntArrayListTest:assertEquals(long,long)
IntArrayListTest:testRetainAllSmall() IntArrayList:<init>()
RandomUtilsTest:testNextTwinPrime() RandomUtils:nextTwinPrime(int)
OpenLongCharHashMapTest:testValues() CharArrayList:size()
FunctionTest:testIsDensifying() DoubleDoubleFunction:isDensifying()
VectorBinaryAssignTest:testAll() DoubleDoubleFunction:apply(double,double)
VectorBinaryAssignTest:testAll() PrintStream:printf(java.lang.String,java.lang.Object[])
</code></pre>