2016-09-29 3 views
0

Ich habe eine Variable, die den folgenden Wert enthält:Prepend jede Zeile in einem String Python

From: [email protected] 
To: [email protected] 
Date: Thu Sep 29 04:25:45 2016 
Subject: IMAP Append Client FNBJL 
MIME-version: 1.0 
Content-type: text/plain; charset=UTF-8; format=flowed 

    hocks burdock steelworks propellants resource querying sitings biscuits lectureship 
    linearly crimea ghosting inelegant contingency resting fracas margate radiographic 
    befoul waterline stopover two everlastingly highranking doctrine unsmilingly massproducing 
teacups litanies malachite pardon rarer glides nonbelievers humorously clonal tribunes 
micrometer paralysing splenetic constitutionalists wavings thoughtfulness herbicide 
rerolled ore overflows illicitly aerodynamics ably splittable ditching rouged bulldozer 
replayed statistic reconfigured adventurers passionate rewarded decides oxygenated 

Jede Zeile in der obigen Zeichenfolge mit X: werden muss vorangestellt, wie unten

X: From: [email protected] 
X: To: [email protected] 
X: Date: Thu Sep 29 04:25:45 2016 
X: Subject: SSSSSSSSS FNBJL 
X: MIME-version: 1.0 
X: Content-type: text/plain 
X: 
X: hocks burdock steelworks propellants resource querying sitings biscuits lectureship 
X: linearly crimea ghosting inelegant contingency resting fracas margate radiographic 
X: befoul waterline stopover two everlastingly highranking doctrine unsmilingly massproducing 
X: teacups litanies malachite pardon rarer glides nonbelievers humorously clonal tribunes 
X: micrometer paralysing splenetic constitutionalists wavings thoughtfulness herbicide 
X: rerolled ore overflows illicitly aerodynamics ably splittable ditching rouged bulldozer 
X: replayed statistic reconfigured adventurers passionate rewarded decides oxygenated 

I gezeigt dachte daran, die obige Zeichenfolge auf \n zu teilen und jede Zeile mit X:

voranzustellen Gibt es einen besseren Ansatz dafür?

+3

' "X:" + var.replace ("\ n", "\ n X:")' –

+0

Sie können Verwenden Sie eine Regex "Ersetzen" ''^'' mit '' X: '' – allo

+0

@VincentSavard, Sieht gut aus. – blackpen

Antwort

1

Es gibt Unmengen an Möglichkeiten zu erreichen, was Sie wollen, hier einige Einsen:

import re 

log = """From: [email protected] 
To: [email protected] 
Date: Thu Sep 29 04:25:45 2016 
Subject: IMAP Append Client FNBJL 
MIME-version: 1.0 
Content-type: text/plain; charset=UTF-8; format=flowed 

    hocks burdock steelworks propellants resource querying sitings biscuits lectureship 
    linearly crimea ghosting inelegant contingency resting fracas margate radiographic 
    befoul waterline stopover two everlastingly highranking doctrine unsmilingly massproducing 
teacups litanies malachite pardon rarer glides nonbelievers humorously clonal tribunes 
micrometer paralysing splenetic constitutionalists wavings thoughtfulness herbicide 
rerolled ore overflows illicitly aerodynamics ably splittable ditching rouged bulldozer 
replayed statistic reconfigured adventurers passionate rewarded decides oxygenated""" 


def f1(text): 
    return "X: " + text.replace("\n", "\nX: ") 


def f2(text): 
    return "X: " + re.sub('\n', '\nX: ', text) 


def f3(text): 
    return "\n".join(["X: {0}".format(l) for l in text.split("\n")]) 

if __name__ == "__main__": 
    print(log) 

    for f in [f1, f2, f3]: 
     print('-' * 80) 
     print(f(log)) 
Verwandte Themen