Reputation: 1895
I need to remove the part until :
from all the lines ( excluding :
appearing in datetime format) given as below. Is there a way to pick the length and replace it with " ".
a.txt
Mon Sep 17 04:01:35 2018 abc.mnba:15885: afhoashfodcasnc.
Mon Sep 17 04:01:35 2018 abc.mnba:16199: inancaaldajijeijiodncna
Mon Sep 17 04:01:35 2018 abc:9: iunancn andjcadjjacnn noancoan
Mon Sep 17 04:01:35 2018 abc: abc = {
'uf' => '',
'uft' => 'afbcjbja',
'ufd' => 'saflkacklmsakcmk',
'ufc' => 'ubakcb'
};
Expected Solution
afhoashfodcasnc.
inancaaldajijeijiodncna
iunancn andjcadjjacnn noancoan
$abc = {
'uf' => '',
'uft' => 'afbcjbja',
'ufd' => 'saflkacklmsakcmk',
'ufc' => 'ubakcb'
};
askpfmkasmkvmksamvmk
Kdriver: jafnajncjjanjnnfjnjajjf
fkcjkackkakkafjkajkfjdka
I hcjfdajnfcjnajncjjanjnjnjndjnfjcnjn
I afkjakcnakkdfjncnalldkfkdafkccnnlkn
kdfjkackanjdnfjajsfdcjcnjnjanjnfcaksfaljscll
fajncjnjanjdnfjnajsdnfjcnjakncjajnfjajdfjanjncjnjnja
ijfiandfnanejfdcijiandnajfnejdfhncncjnjanjnedfncjanncfjanjcnj
akmfkcmkmakmkdmfekmfkmkckmakmdkmfkmkamdfcammdckmckcmkckdkal ladmflmalcml
My Solution
import re
with open("a.txt", 'r') as f:
for lines in f:
line = re.sub(r"^.{20}", "", lines)
print(line)
Upvotes: 0
Views: 129
Reputation: 194
The pattern has to get a little more complicated than your suggestion. I have tested this one and it seems to get your expectedd result:
import re
with open("a.txt", 'r') as f:
for lines in f:
if ":" in lines:
line = re.findall(r":\s?\D.+$", lines)[0][1:].strip()
else:
line = lines
print(line)
This prints out the following result
afhoashfodcasnc.
inancaaldajijeijiodncna
iunancn andjcadjjacnn noancoan
$abc = {
'uf' => '',
'uft' => 'afbcjbja',
'ufd' => 'saflkacklmsakcmk',
'ufc' => 'ubakcb'
};
askpfmkasmkvmksamvmk
Kdriver: jafnajncjjanjnnfjnjajjf
fkcjkackkakkafjkajkfjdka
I hcjfdajnfcjnajncjjanjnjnjndjnfjcnjn
I afkjakcnakkdfjncnalldkfkdafkccnnlkn
kdfjkackanjdnfjajsfdcjcnjnjanjnfcaksfaljscll
fajncjnjanjdnfjnajsdnfjcnjakncjajnfjajdfjanjncjnjnja
ijfiandfnanejfdcijiandnajfnejdfhncncjnjanjnedfncjanncfjanjcnj
akmfkcmkmakmkdmfekmfkmkckmakmdkmfkmkamdfcammdckmckcmkckdkal ladmflmalcml
Upvotes: 1
Reputation: 8923
What about this?
import re
with open("a.txt", 'r') as f:
for lines in f:
line = re.sub(r".*:", "", lines)
print(line)
Note that it removes Kdriver: as well.
Upvotes: 1