UDF > File >


_ReplaceStringInFile

Remplace des sous-chaînes dans un fichier

#include <File.au3>
_ReplaceStringInFile ( $sFilePath, $sSearchString, $sReplaceString [, $iCaseSensitive = 0 [, $iOccurance = 1]] )

Paramètres

$sFilePath Le chemin complet du fichier dans lequel remplacer les chaînes.
$sSearchString La chaîne à chercher.
$sReplaceString La chaîne de remplacement.
$iCaseSensitive [optionnel] Flag pour indiquer si les opérations doivent être sensibles à la casse.
    $STR_NOCASESENSE (0) = pas sensible à la casse, en utilisant les paramètres locaux à l'utilisateur (par défaut)
    $STR_CASESENSE (1) = sensible à la casse
    $STR_NOCASESENSEBASIC (2) = pas sensible à la casse, en utilisant une comparaison basique/rapide
Les constantes sont définies dans StringConstants.au3
$iOccurance [optionnel]
    0 - Seule la première occurrence est remplacée     1 - Toutes les occurrences sont remplacés (par défaut)

Valeur de retour

Succès: Retourne le nombre d'occurrences trouvées.
Échec: Retourne -1 et définit @error <> 0.
@error: 1 - Le fichier est en lecture seule
2 - Impossible d'ouvrir le fichier
3 - Impossible d'écrire dans le fichier

Exemple

#include <File.au3>
#include <MsgBoxConstants.au3>

Local $sFind = "BEFORE"
Local $sReplace = "AFTER"

Local $sFilename = "C:\_ReplaceStringInFile.test"

Local $iMsg = "Hello Test " & $sFind & " Hello Test" & @CRLF
$iMsg &= "Hello Test" & @CRLF
$iMsg &= @CRLF
$iMsg &= $sFind

FileWrite($sFilename, $iMsg)

MsgBox($MB_SYSTEMMODAL, "BEFORE", $iMsg)

Local $iRetval = _ReplaceStringInFile($sFilename, $sFind, $sReplace)
If $iRetval = -1 Then
    MsgBox($MB_SYSTEMMODAL, "ERREUR", "Le modèle n'a pas été remplacé dans le fichier: " & $sFilename & " Error: " & @error)
    Exit
Else
    MsgBox($MB_SYSTEMMODAL, "INFO", "Trouvé " & $iRetval & " occurrences du modèle: " & $sFind & " dans le fichier: " & $sFilename)
EndIf

$iMsg = FileRead($sFilename, 1000)
MsgBox($MB_SYSTEMMODAL, "AFTER", $iMsg)
FileDelete($sFilename)