Italian Sostituire un carattere per indice all'interno di una stringa

ken87

Active Member
Licensed User
Longtime User
Ciao,
ho piccolo problema con la sostituzione di una lettera all'interno di una stringa
B4X:
dim mia-stringa as string = "L-VORO"
    For i = 0 To mia-stringa.Length -1
If  mia-stringa.CharAt(i) = "-" And lettera ="A" Then
                'sostituisci A ( che istruzione va usata per sostituire la lettera A al trattino?')
                'ho provato'

                mia-stringa.CharAt(i) = "A"

  'In vb net useri
              mia-stringa.Insert(i, "A")
End If
next

Grazie mille
 
Last edited:

giannimaione

Well-Known Member
Licensed User
Longtime User
B4X:
    Dim mia_stringa As String = "L-VORO"
    mia_stringa = mia_stringa.Replace("-", "A")
 

ken87

Active Member
Licensed User
Longtime User
ciao ho provato se ho una Sringa ASSO

La mia striga temp è ---o

Ora una volta che ho premuto il tasto A la mia stringa diventa temp = AAAO come faccio invece ad avere A--O? per quello che pensavo all'indice stringa in modo da cambiare la lettera corrente che verifico con la stringa di partenza.
Grazie mille
 

LucaMs

Expert
Licensed User
Longtime User
B4X:
Public Sub ReplaceFirstUnderscore(Text As String, Letter As Char) As String
    Dim pos As Int = Text.IndexOf("-")
    If pos = - 1 Then Return Text
    Return Text.SubString2(0, pos) & Letter & Text.SubString(pos + 1)
End Sub

Log(ReplaceFirstUnderscore("---o", "A"))
 

giannimaione

Well-Known Member
Licensed User
Longtime User
ciao ho provato se ho una Sringa ASSO

La mia striga temp è ---o

Ora una volta che ho premuto il tasto A la mia stringa diventa temp = AAAO come faccio invece ad avere A--O? per quello che pensavo all'indice stringa in modo da cambiare la lettera corrente che verifico con la stringa di partenza.
Grazie mille
Se me lo dicevi prima. Enzo Jannacci
 

udg

Expert
Licensed User
Longtime User
Giusto per completezza, puoi utilizzare la tecnica mostrata da @LucaMs per cambiare il carattere di una qualunque posizione, non necessariamente il primo trattino.
Se stai implementando una tua versione del gioco " l'impiccato" ora hai lo strumento per arrivare in fondo..
 

Star-Dust

Expert
Licensed User
Longtime User
Oppure puoi usare il classico MID del basic
B4X:
Mid (StringText As String, Start As Int, Length As Int) As String
Fa parte della libreria StringFunctions
 

giannimaione

Well-Known Member
Licensed User
Longtime User
... che poi, alle 3:22 di notte, posso pure sbagliare e chiamare "underscore" il semplice trattino ?
dunque 3:22 di notte, romano, ... ops scusa! questa è l'ora della pennichella ?
 
Top