Remplace du texte, dans une chaîne, selon un modèle d'expression régulière.
StringRegExpReplace ( "test", "pattern", "replace" [, count = 0] )
test | La chaîne à analyser |
pattern | L'expression régulière qui définit le critère de recherche. Consultez StringRegExp pour la syntaxe de définition du modèle. |
replace | Le texte destiné à remplacer le texte trouvé par l'expression régulière. Pour insérer un groupe de texte trouvé, \0 - \9 (ou $0 - $9) vous pouvez les utiliser en références arrière. |
count | [optionnel] Le nombre de fois où exécuter le remplacement de la chaîne. Par défaut, 0 pour un remplacement global de toutes les occurrences. |
Success: | Retourne la chaîne modifiée selon l'expression régulière. Testez @extended pour obtenir le nombre de remplacements effectués. |
Echec: | Définit @error <> 0. |
@error: | 2 = Modèle invalide. @extended = position de l'erreur dans le modèle. |
#include <MsgBoxConstants.au3> Test1() Test2() Test3() ; Cet exemple illustre un remplacement simple. Il remplace les voyelles aeiou ; par le caractère @. Func Test1() Local $sInput = "Where have all the flowers gone, long time passing?" Local $sOutput = StringRegExpReplace($sInput, "[aeiou]", "@") Display($sInput, $sOutput) EndFunc ;==>Test1 ; L'exemple suivant illustre l'utilisation des références arrière pour changer la date ;de MM/DD/AAAA en DD.MM.YYYY Func Test2() Local $sInput = 'some text1 12/31/2009 01:02:03 some text2'& @CRLF & _ 'some text3 02/28/2009 11:22:33 some text4' Local $sOutput = StringRegExpReplace($sInput, '(\d{2})/(\d{2})/(\d{4})', ' $2.$1.$3 ') Display($sInput, $sOutput) EndFunc ;==>Test2 ;L'exemple suivant illustre la nécessité d'une double barre oblique inverse Func Test3() Local $sInput = '%CommonProgramFiles%\Microsoft Shared\' Local $sOutput = StringRegExpReplace($sInput, '%([^%]*?)%', 'C:\\WINDOWS\\Some Other Folder$') Display($sInput, $sOutput) EndFunc ;==>Test3 Func Display($sInput, $sOutput) ; Formate la sortie. Local $sMsg = StringFormat("Entrée:\t%s\n\nOutput:\t%s", $sInput, $sOutput) MsgBox($MB_SYSTEMMODAL, "Résultat", $sMsg) EndFunc ;==>Display