Remplaçant les chiffres par str.replace()
Je veux faire une nouvelle chaîne en remplaçant les chiffres avec %d
par exemple:
Name.replace( "_u1_v1" , "_u%d_v%d")
...mais le nombre 1
peut être n'importe quel chiffre pour exemple "_u2_v2.tx"
Puis-je donner replace()
un générique de s'attendre à des chiffres? Comme "_u"%d"_v"%d".tx"
Ou ce que je dois faire une expression régulière?
il n'est pas judicieux de remplacement d'une valeur avec tous les chiffres. vous devez définir le chiffre. si vous avez une fonction qui définit le chiffre ou en entrée, passer la variable qui contient la valeur. Par exemple, le Nom.replace("_u1_v1", "_u" + variableName + "_v" + variableName).
OriginalL'auteur user1869582 | 2013-09-29
Vous devez vous connecter pour publier un commentaire.
L'aide d'expressions régulières:
\d
correspond à n'importe quel nombre de 0 à 9.re.sub
remplace le numéro de(s) avec%d
OriginalL'auteur TerryA
Vous ne pouvez pas;
str.replace()
fonctionne avec le texte littéral seulement.Pour remplacer des modèles, utiliser des expressions régulières:
Démo:
OriginalL'auteur Martijn Pieters
Juste de variété, certains non-regex approches:
Ou si vous avez besoin de regrouper plusieurs chiffres:
(Pour être honnête, même si je suis généralement anti-regex, ce cas est assez simple, je serais probablement utiliser.)
OriginalL'auteur DSM