Differenze tra le versioni di "Concatenare due stringhe"
Riga 2: | Riga 2: | ||
Esempio: | Esempio: | ||
− | + | Public Sub Main() | |
− | + | Dim s1, s2, unione As String | |
s1 = "aaaa" | s1 = "aaaa" | ||
Riga 13: | Riga 13: | ||
Print unione | Print unione | ||
− | + | End | |
Questa rappresenta la modalità più comune, usuale e la più semplice da utilizzare per unire due stringhe. | Questa rappresenta la modalità più comune, usuale e la più semplice da utilizzare per unire due stringhe. | ||
− | |||
Esistono, però, anche altre modalità, che possono essere utilizzare, soprattutto in relazione ai casi ed alle situazioni in cui versa il codice | Esistono, però, anche altre modalità, che possono essere utilizzare, soprattutto in relazione ai casi ed alle situazioni in cui versa il codice | ||
Riga 21: | Riga 20: | ||
Eccone alcune. | Eccone alcune. | ||
− | ==Uso della funzione | + | ==Uso della funzione "Mid()"== |
− | Questa modalità fa uso della funzione | + | Questa modalità fa uso della funzione "Mid()". <SUP>[[[#Note|nota 1]]]</sup> |
Vediamo un semplice esempio: | Vediamo un semplice esempio: | ||
− | + | Public Sub Main() | |
− | |||
− | |||
− | |||
− | |||
+ | Dim s1 As String = "aaa" | ||
+ | Dim s2 As String = "bbb" | ||
+ | Dim unica As String | ||
+ | |||
unica = s2 | unica = s2 | ||
Riga 37: | Riga 36: | ||
Print unica | Print unica | ||
− | + | End | |
− | |||
− | Questa modalità fa uso della funzione | + | ==Uso della Funzione "Subst()"== |
+ | Questa modalità fa uso della funzione "Subst()". <SUP>[[[#Note|nota 2]]]</sup> | ||
Vediamo un semplice esempio: | Vediamo un semplice esempio: | ||
− | + | Public Sub Main() | |
− | + | Dim s1 As String = "aaa" | |
− | + | Dim s2 As String = "bbb" | |
− | + | Dim unica As String | |
unica = Subst(("&1&2"), s1, s2) | unica = Subst(("&1&2"), s1, s2) | ||
Riga 54: | Riga 53: | ||
Print unica | Print unica | ||
− | + | End | |
+ | |||
− | ==Uso della funzione | + | ==Uso della funzione "Replace()"== |
− | Questa modalità fa uso della funzione | + | Questa modalità fa uso della funzione "Replace()". <SUP>[[[#Note|nota 2]]]</sup> |
Vediamo un semplice esempio: | Vediamo un semplice esempio: | ||
− | + | Public Sub Main() | |
− | |||
− | |||
− | |||
− | |||
+ | Dim s1 As String = "aaa" | ||
+ | Dim s2 As String = "bbb" | ||
+ | Dim unica As String | ||
+ | |||
unica = "*Y" | unica = "*Y" | ||
unica = Replace(unica, "*", s1) | unica = Replace(unica, "*", s1) | ||
Riga 72: | Riga 72: | ||
Print unica | Print unica | ||
− | + | End | |
+ | |||
− | ==Uso del Metodo | + | ==Uso del Metodo ".Join()" fornito dalle variabili vettoriali del tipo "string[]"== |
− | Vediamo un semplice esempio di questa modalità che fa uso del Metodo | + | Vediamo un semplice esempio di questa modalità che fa uso del Metodo ".Join()" dei vettori di tipo "String[]": <SUP>[[[#Note|nota 3]]]</sup> |
− | + | Public Sub Main() | |
− | + | Dim s1, s2, unica As String | |
− | + | Dim ss As New String[] | |
s1 = "aaa" | s1 = "aaa" | ||
Riga 91: | Riga 92: | ||
Print unica | Print unica | ||
− | + | End | |
+ | |||
− | ==Uso di una variabile vettoriale di tipo | + | ==Uso di una variabile vettoriale di tipo "Byte[]" e della funzione "Asc()"== |
Vediamo di quest'altra modalità un semplice esempio: | Vediamo di quest'altra modalità un semplice esempio: | ||
− | + | Public Sub Main() | |
− | + | Dim s1, s2, unica As String | |
− | + | Dim bb As Byte[] | |
− | + | Dim b As Byte | |
− | + | ||
s1 = "aaa" | s1 = "aaa" | ||
s2 = "bbb" | s2 = "bbb" | ||
Riga 114: | Riga 116: | ||
Print unica | Print unica | ||
− | + | End | |
+ | |||
==Uso di un ''Puntatore'' e dei ''Memory Stream''== | ==Uso di un ''Puntatore'' e dei ''Memory Stream''== | ||
Vediamo di quest'altra modalità un semplice esempio: | Vediamo di quest'altra modalità un semplice esempio: | ||
− | + | Public Sub Main() | |
− | |||
− | |||
− | |||
− | |||
+ | Dim s1, s2, unica As String | ||
+ | Dim p As Pointer | ||
+ | Dim st As Stream | ||
+ | |||
s1 = "aaa" | s1 = "aaa" | ||
s2 = "bbb" | s2 = "bbb" | ||
Riga 140: | Riga 143: | ||
Free(p) | Free(p) | ||
− | + | End | |
+ | |||
==Analogo al precedente esempio, ma usando un file temporaneo== | ==Analogo al precedente esempio, ma usando un file temporaneo== | ||
Vediamo quest'altro caso: | Vediamo quest'altro caso: | ||
− | + | Public Sub Main() | |
− | |||
− | |||
− | |||
+ | Dim s1, s2, t, unica As String | ||
+ | Dim fl As File | ||
+ | |||
s1 = "aaa" | s1 = "aaa" | ||
s2 = "bbb" | s2 = "bbb" | ||
Riga 163: | Riga 167: | ||
Print unica | Print unica | ||
− | + | End | |
Versione attuale delle 16:40, 28 giu 2024
Come è noto, in Gambas, per concatenare due stringhe, si utilizza l'operatore &, posto fre le due stringhe.
Esempio:
Public Sub Main() Dim s1, s2, unione As String s1 = "aaaa" s2 = "bbbb" unione = s1 & s2 Print unione End
Questa rappresenta la modalità più comune, usuale e la più semplice da utilizzare per unire due stringhe.
Esistono, però, anche altre modalità, che possono essere utilizzare, soprattutto in relazione ai casi ed alle situazioni in cui versa il codice
Eccone alcune.
Indice
- 1 Uso della funzione "Mid()"
- 2 Uso della Funzione "Subst()"
- 3 Uso della funzione "Replace()"
- 4 Uso del Metodo ".Join()" fornito dalle variabili vettoriali del tipo "string[]"
- 5 Uso di una variabile vettoriale di tipo "Byte[]" e della funzione "Asc()"
- 6 Uso di un Puntatore e dei Memory Stream
- 7 Analogo al precedente esempio, ma usando un file temporaneo
- 8 Note
Uso della funzione "Mid()"
Questa modalità fa uso della funzione "Mid()". [nota 1]
Vediamo un semplice esempio:
Public Sub Main() Dim s1 As String = "aaa" Dim s2 As String = "bbb" Dim unica As String unica = s2 Mid(unica, 1, 0) = s1 Print unica End
Uso della Funzione "Subst()"
Questa modalità fa uso della funzione "Subst()". [nota 2]
Vediamo un semplice esempio:
Public Sub Main() Dim s1 As String = "aaa" Dim s2 As String = "bbb" Dim unica As String unica = Subst(("&1&2"), s1, s2) Print unica End
Uso della funzione "Replace()"
Questa modalità fa uso della funzione "Replace()". [nota 2]
Vediamo un semplice esempio:
Public Sub Main() Dim s1 As String = "aaa" Dim s2 As String = "bbb" Dim unica As String unica = "*Y" unica = Replace(unica, "*", s1) unica = Replace(unica, "Y", s2) Print unica End
Uso del Metodo ".Join()" fornito dalle variabili vettoriali del tipo "string[]"
Vediamo un semplice esempio di questa modalità che fa uso del Metodo ".Join()" dei vettori di tipo "String[]": [nota 3]
Public Sub Main() Dim s1, s2, unica As String Dim ss As New String[] s1 = "aaa" s2 = "bbb" ss.Push(s1) ss.Push(s2) unica = ss.Join(Null, Null) Print unica End
Uso di una variabile vettoriale di tipo "Byte[]" e della funzione "Asc()"
Vediamo di quest'altra modalità un semplice esempio:
Public Sub Main() Dim s1, s2, unica As String Dim bb As Byte[] Dim b As Byte s1 = "aaa" s2 = "bbb" bb = Byte[].FromString(s1) For b = 1 To Len(s2) bb.Push(Asc(s2, b)) Next unica = bb.ToString(0, bb.Count) Print unica End
Uso di un Puntatore e dei Memory Stream
Vediamo di quest'altra modalità un semplice esempio:
Public Sub Main() Dim s1, s2, unica As String Dim p As Pointer Dim st As Stream s1 = "aaa" s2 = "bbb" p = Alloc(SizeOf(gb.Byte), Len(s1) + Len(s2)) st = Memory p For Write Write #st, s1 Write #st, s2 st.Close unica = String@(p) Print unica Free(p) End
Analogo al precedente esempio, ma usando un file temporaneo
Vediamo quest'altro caso:
Public Sub Main() Dim s1, s2, t, unica As String Dim fl As File s1 = "aaa" s2 = "bbb" t = Temp() fl = Open t For Create Write #fl, s1 Write #fl, s2 fl.Close unica = File.Load(t) Print unica End
Note
[1] Questa modalità è stata proposta dai membri Top Fuel e Gianluigi del forum gambas-it.org .
[2] Questa modalità è stata proposta dal membro Gianluigi del forum gambas-it.org .
[3] Con riferimento a questa modalità vedasi anche questa specifica pagina della Wiki: Ottenere un'unica stringa dalle stringhe contenute dagli elementi di un vettore di tipo Stringa