Je dois remplacer "x y z mot1 mot2" par "x_y_z mot1 mot2"
Le nombre de caractères uniques peut varier.Expression régulière .Net remplacer les caractères uniques suivis par des espaces au début de la chaîne
Répondre
Vous pouvez y parvenir en abusant lookahed:
Regex.Replace(str, @"(?<=^\w?(\s\w)*)\s(?=\w\s)", "_");
espaces qui sont Constate après une séquence d'espaces et des lettres simples, et avant une autre telle lettre. S'il vous plaît noter que cela ne fonctionnerait pas sur toutes les saveurs de Regex, mais .net le gère bien.
Une autre option utilise le MatchEvaluator:
Regex.Replace(str, @"^(\w)+",
match => match.Value.TrimEnd().Replace(' ', '_') + " ");
Dans cette version est la regex facile, mais nous faisons un peu de post-traitement - la fonction supprime le dernier espace, et remplace tous les autres espaces par des underscores.
Regex.Replace(yourstring, "^x y z ", "x_y_z ")
le feraient, bien sûr. Combien vous voulez généraliser dépend exactement de ce que "symboles suivis d'espaces" vous voulez remplacer (étant donné que vous ne voulez pas remplacer word1
et plus tard dans votre exemple de chaîne); par exemple, si vous voulez remplacer exactement trois identifiants à caractère unique (suivi par des espaces) au début de la chaîne, la généralisation correcte est:
Regex.Replace(yourstring, "^([a-z]) ([a-z]) ([a-z]) ", "$1_$2_$3 ")
mais il est différent si vous voulez remplacer différents numéros d'identifiants , ou des identifiants de longueurs différentes, etc., etc. Dites-nous exactement ce que vous voulez remplacer (et où vous voulez arrêter de le remplacer) et nous pouvons être plus précis dans nos suggestions.
- 1. Expression régulière pour remplacer les caractères non alpha par des espaces
- 2. Remplacer les caractères entourés de guillemets par une expression régulière
- 3. Remplacer tous les caractères spéciaux par une expression régulière
- 4. Vérifier les espaces au début de la chaîne
- 5. .Net expression régulière remplacer - préfixer chaque mot avec certains caractères
- 6. Expression régulière pour remplacer cette chaîne
- 7. expression régulière .NET
- 8. Expression régulière PHP remplacer?
- 9. Expression régulière, remplacer "22,09" par "22,09"
- 10. Expression régulière pour exclure la sous-chaîne
- 11. expression régulière: extrait les 2 derniers caractères
- 12. Expression régulière pour correspondre à la chaîne commençant par "stop"
- 13. expression régulière avec les caractères spéciaux
- 14. Expression régulière pour envelopper des lignes correspondant à l'intérieur dièses, mais pas les espaces au
- 15. VBScript - Expression régulière remplace les espaces
- 16. Comment supprimer des espaces blancs de fin mais pas des espaces blancs dans une chaîne (ni au début)?
- 17. validation par mot de passe Expression régulière
- 18. Expression régulière négative remplacer?
- 19. Expression régulière pour limiter la longueur de chaîne
- 20. .net Expression régulière impliquant des balises html
- 21. expression régulière pour les citations et les espaces blancs
- 22. Expression régulière remplacer
- 23. expression régulière pour la chaîne de style option
- 24. Expression régulière pour remplacer les champs délimités par des virgules vides par "NA"
- 25. Expression régulière pour modifier une ligne qui ne contient qu'un seul mot au début
- 26. Expression régulière exclure des caractères spéciaux
- 27. Expression régulière pour remplacer d'abord par des virgules underscore
- 28. Remplacement des traits d'union dans la chaîne de requête par expression régulière
- 29. Expression régulière comment rechercher() et les remplacer par []
- 30. expression régulière pour les caractères non consécutifs
Oui par x y z Je voulais dire une séquence de caractères simples, mais le nombre de ces caractères est variable. – MicMit