2017-07-08 1 views
0

J'ai une table en latex, j'utilise du texte sublime. La question est simple, je nombres dire Entrée:

3.3 & 42.32 & 123 

est-il un moyen utilisant l'expression régulière pour remplacer les numéros avec les mêmes numéros, en plus de signer $ wrap telle que la sortie:

$3.3$ & $42.32$ & $123$ 

Répondre

0

J'ai trouvé une réponse. Cependant, je vous conseille honnêtement tout le monde qui ne sait pas l'expression régulière à regarder les quatre premières séries

https://www.youtube.com/watch?v=c9HbsUSWilw

La réponse à ma question est que j'utilise l'expression régulière dans le texte Sublime 3 éditeur. Par conséquent, la réponse est de mettre dans la découverte (ctr + F)

Find: (\d+\.\d*) 
Replace with: \$$1\$ (after pressing on the regler expression key in sublime text 3) 
0

Vous pouvez utiliser re.sub() et la capture comme:

import re 
s='3.3 & 42.32 & 123 ' 
print(re.sub('(?P<num>\d+\.?\d*)',r'$\g<num>$',s)) 

dans le code ci-dessus, la première arg: (?P<num>\d+\.?\d*) capturé le numéro \d+\.?\d* et l'a nommé num. Second argument:, r'$\g<num>$' remplace le num par $ num $.
imprimer si it''ll le résultat que nous attendions: $3.3$ & $42.32$ & $123$

+0

s'il vous plaît se référer à [lien] (https://docs.python.org/3/library/re.html#re.sub) et sa partie de capture. – Park

+0

pouvons-nous faire cela en utilisant le texte sublime 3 sans python? – rsc05

+0

oui, dans n'importe quelle langue qui possède une bibliothèque regex vous pouvez faire quelque chose comme ça (seulement une différence de syntaxe). – Park