2017-10-16 5 views
1

J'ai un script de dialogue pour un jeu qui doit être formaté en XML, avec le format suivant ...automatiquement envelopper les balises XML personnalisés et les numérotant

<line id='1'> .............. </line> 
<line id='2'> .............. </line> 
<line id='3'> .............. </line> 
.... 
<line id='n'> .............. </line> 

script Dialogue J'ai donné droit est maintenant écrit en format clair, j'ai seulement besoin d'envelopper chaque ligne dans les balises XML ci-dessus.

Existe-t-il un moyen d'automatiser le processus?

Répondre

1

Vous pouvez réaliser ceci en deux étapes. D'abord, ajoutez un numéro de ligne au début de chaque ligne de votre fichier texte. Ensuite, enveloppez chaque ligne dans les balises XML <line> dont vous avez besoin.

Pour générer des numéros de ligne, vous pouvez utiliser le mode d'éditeur de colonnes. Tout d'abord, insérer un espace au début de chaque ligne par cette découverte et le remplacement:

Recherche:

(.*) 

Remplacer:

$1 (single space followed by $1) 

Ensuite, utilisez le mode éditeur de colonne pour insérer une numéro de ligne généré au début de chaque ligne. Voir here pour plus d'informations sur la façon de procéder. À ce stade, vos données devraient ressembler à ceci:

1 Here is line one. 
2 Here is line two. 
3 Here is line three. 
... 
111 Here is line one hundred eleven. 

Vous pouvez maintenant faire une deuxième découverte et de remplacement pour envelopper chaque ligne dans la balise <line>:

Recherche:

([0-9]+)\s+(.*) 

Remplacer:

<line id='$1'>$2</line> 
+0

Merci, mais j'ai du mal à le faire fonctionner. Première étape me donner un "s" dans chaque ligne et la deuxième étape n'emballe pas toutes les lignes avec les étiquettes (seulement la ligne 1-9). Pouvez-vous tester avec l'échantillon suivant? https://pastebin.com/mYzeedSV Notez que le guillemet est toujours nécessaire. –

+0

@Ran_TH J'ai eu une faute de frappe. S'il vous plaît essayer ma réponse à nouveau. –

+0

Ok maintenant ça marche! Mais lors de l'ajout de numéros de ligne, il ajoute un espace double à la ligne 1-9, il y a donc un espace vide dans le résultat final. https://i.imgur.com/dPNMahh.jpg –