Subst$
Result = Subst$ ( Pattern , ReplaceString [ , ReplaceString ... ] )
Result = Subst ( Pattern , ReplaceString [ , ReplaceString ... ] )
Sostituisce le sottostringhe
&1
,
&2
, ecc. in un modello con rispettivamente il primo, il secondo e il successivo
ReplaceString, e restituite il risultato.
Se
Pattern è nullo, viene restituita una stringa vuota.
Per gli sviluppatori C, questo non è diverso da uno
sprintf
semplificato.
Esempio
Print Subst("Gambas is a cool &1", "BASIC")
Questa funzione è molto utile quando devi concatenare stringhe che devono essere tradotte.
Non utilizzare l'operatore
&
, poiché l'ordine di concatenazione può cambiare con la lingua.
Per esempio:
Print Subst(("Today, we are &1 &2"), Format(Now, "mmm"), Format(Now, "d"))
sarà tradotto in italiano in questo modo:
Print Subst(("Oggi è il &2 &1"), Format(Now, "mmm"), Format(Now, "d"))
In Gambas 3, se si desidera sostituire un argomento il cui indice è maggiore o uguale a dieci,
è necessario racchiudere l'indice degli argomenti tra le parentesi
{
e
}
.
Per esempio:
DIM aArg AS String[]
PRINT Subst("The 9th argument is &9 and the 10th is &{10}",
aArg[1], aArg[2], aArg[3], aArg[4], aArg[5], aArg[6], aArg[7], aArg[8], aArg[9], aArg[10])
Questa sintassi non è obbligatoria in Gambas 2, ed è stato un errore. Ad esempio con il percorso di sostituzione '
&
', non era possibile fare la differenza fra "sostituire il 10° argomento" e "sostituire il primo argomento e aggiungere uno zero".
Vedi anche