2010-05-09 7 views
2

Comment remplacer le symbole "%" par un mot "Pourcentage".Remplacer le symbole "%" par le mot "Pourcentage"

Ma chaîne d'origine est "Internal (%) External (%)". La chaîne doit être "interne (pourcentage) externe (pourcentage)"

En utilisant l'expression régulière, comment puis-je remplacer ce symbole?

Merci d'avance. Atul

+3

Cela dépend de la langue. –

Répondre

10

Vous n'avez pas besoin d'un Regex ici, vous pouvez utiliser un remplacement régulier. Par exemple en utilisant .net:

string s = "Internal (%) External (%)"; 
s = s.Replace("%", "Percent"); 
+2

La nécessité ou non d'une regex dépend de l'environnement, qui est actuellement non spécifié. En Javascript, par exemple, une regex est requise si toutes les occurrences doivent être remplacées. – csj

6

la chaîne de correspondance sera simplement un symbole pour cent:%

Cependant, la mise en œuvre est spécifique à votre environnement de regex.

Javascript

var myString = "Internal (%) External (%)"; 
myString = myString.replace(/%/g,"Percent"); 
+2

'%' n'a pas de signification particulière et ne devrait pas être échappé. En utilisant JavaScript, '/% /' fonctionnera pour le premier caractère, assurez-vous d'ajouter le drapeau 'g' -' /%/g' – Kobi

+0

@Kobi Vous avez raison, je n'ai pas besoin d'y échapper. Battez-vous avec le drapeau mondial cependant. ;) – csj

5

Quelle langue utilisez-vous? Dans de nombreuses langues, vous ne avez besoin d'une regex pour cela, par exemple en Python ...:

>>> "Internal (%) External (%)".replace('%','Percent') 
'Internal (Percent) External (Percent)' 

mais si vous ne voulez utiliser RE pour une raison particulière, ce serait aussi facile:

>>> import re 
>>> re.sub('%', 'Percent', "Internal (%) External (%)") 
'Internal (Percent) External (Percent)' 

les détails de l'exécution d'un tel remplacement global, avec REs ou sans eux, varient selon la langue, il est donc difficile d'offrir une aide spécifique sans savoir quelle langue que vous utilisez -)

3

en Java vous peut simplement utiliser le symbole%, il n'a pas besoin d'être échappé.

myString = myString.replaceAll("%", "Percent"); 

Ou si comme moi si la conversion% pourrait être rendu correctement en HTML

myString = myString.replaceAll("%", "%"); 
Questions connexes