; Remplace des valeurs dans une chaine de caractères par les valeurs spécifié dans le tableau replacements
;
; @param .s La chaine à traiter
; @param Map.s Un tableau de chaines remplacant les clefs par le contenu
; @return .s
Procedure.s PrepareString(str.s, Map replacements.s(), mode.l = #PB_String_CaseSensitive)
ForEach replacements()
str = ReplaceString(str, MapKey(replacements()), replacements(), mode)
Next
ProcedureReturn str
EndProcedure
; Test
string.s = "Le ?0 est un super ?1 de ?2"
NewMap Replaces.s()
Replaces("?0") = "PureBasic"
Replaces("?1") = "langage"
Replaces("?2") = "programmation"
Debug PrepareString(string, Replaces())
string.s = "Le ?0 est un super ?1 de ?2"
string = ReplaceString(string,"?0","PureBasic")
string = ReplaceString(string,"?1","langage")
string = ReplaceString(string,"?2","programmation")
Debug string