2011-07-25 5 views
1

J'ai un texte comme çaComment insérer des balises dans les textes

Ou comme ça

Je veux insérer des balises dans les:

<tag1>I have a text like that</tag1> 
<tag1>Or like that</tag1> 

comment puis-je parvenir en python?

+2

Paul, il semble que votre question manque certaines parties. Corrigez cela, s'il-vous-plaît. –

+0

+1 Non, non c'est complet, auto-référencé – joaquin

Répondre

1

Semble plus que vous voulez insérer du texte entre les balises. Droite?

'<tag1>{0}</tag1>'.format('I have a text like that') 

Si c'est une liste de chaînes:

>>> l = ['I have a text like that', 'Or like that'] 
>>> ['<tag1>{0}</tag1>'.format(s) for s in l] 
['<tag1>I have a text like that</tag1>', '<tag1>Or like that</tag1>'] 
+0

Assez simple. Merci. – Paul

0

Je suis désolé, je ne l'ai jamais fait python, mais ce que vous pouvez faire est divisé chaque ligne en utilisant regex pour un saut de ligne et de stocker les lignes un tableau. Ajoutez les étiquettes sur chaque ligne, puis combinez-les à l'aide de la boucle foreach ...

+0

Je pensais plus ou moins de cette façon, mais ce serait trop compliqué pour les installations python. – Paul

+0

Les expressions rationnelles devraient être utilisées pour rechercher _patterns_. Il suffit de rechercher des retours à la ligne ou de fractionner du texte avec les fonctions de chaîne intégrées. – jena

1

Traitez simplement les étiquettes comme des chaînes normales et effectuez l'opération de concaténation des chaînes. C'est l'approche de base.

Vous pouvez également utiliser l'opération str.format sur une chaîne pour insérer du texte entre des étiquettes de la chaîne.

Mais si votre intention est de créer un document XML bien formé, puis Python fournit une bibliothèque appelée ElementTree

from xml.etree import ElementTree as ET 

root = ET.Element("root") 
tag1 = ET.SubElement(root,"tag1") 
tag1.text = "hi" 
tag1 = ET.SubElement(root,"tag1") 
tag1.text = "hello" 
tree = ET.ElementTree(root) 
tree.write('s.html') 
Questions connexes