Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [VB6] sostituzione all'interno di una stringa

    devo sostituire un carattare all'interno di una stringa ma facendo così

    codice:
    Print Mid("Ciao", 2, 1) = "D"
    non fa la sostituzione ma semplicemente verifica se il 2°carattere è "D"...

    sarà una cavolata ma nn ci riesco!

  2. #2
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    Ciao ranza!!!123,
    potresti utilizzare la funzione Replace la cui firma è la seguente:
    'Replace(espressione, cerca, sostituiscicon[, inizio[, conteggio[, confronto]]])
    Esempio se vuoi sostituire la "i" con la "D":
    Private Sub Command1_Click()
    Dim sMyString As String
    sMyString = "Ciao"
    Label1.Caption = Replace(sMyString, "i", "D", , 1)
    End Sub
    LM

  3. #3
    scusa se rispondo solo ora..la replace già la conoscevo,ma nn riesco a fare di cambiare ad esempio la 2° lettera....

    aiuto!

  4. #4
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    la funzione replace va bene

    codice:
    Option Explicit
    Dim stringa As String
    Dim temp As String
    
    Private Sub Form_Load()
    stringa = "ciroi"
    temp = Mid(stringa, 2, 1)
    stringa = Replace(stringa, temp, "x", 1, 1 )
    MsgBox stringa
    End Sub
    mi restituisce cxroi

    in questo caso è impostato che deve sostituire sempre la seconda lettera ma ovvviamente giocando con le variabili puoi sostituire la lettera che vuoi
    nel caso che tu voglia sostituire tutte le ripetizioni di quella lettera togli il neretto
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  5. #5
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    Ciao ranza!!!123,
    non ho capito con esattezza cosa vuoi fare, dato che l'esempio che ti avevo postato già funzionava. Forse vuoi cambiare la seconda lettera in assoluto, o la terza, ..., se è così ho predisposto il seguente esempio che mediante il valore di start puoi decidere la lettera da cambiare; naturalmente devi inserire (anche con una variabile stringa) la lettera in sostituzione (nell'esempio "Y"):
    codice:
    Private Sub Command1_Click()
        Dim sMyString As String
        Dim s As Integer
        Dim sStr As String
        Dim ssStr As String
        Dim NStr As String
        Dim start As Long
        
        sMyString = "Prova"
        start = 1
            
        ' Acquisisce lettera per lettera:
        For s = 1 To Len(sMyString) Step 1
            sStr = Mid(sMyString, start, 1)
            ssStr = ssStr & sStr
            start = start + 1
            If start = 3 Then
                NStr = Replace(sMyString, sStr, "Y", 1, 1)
            End If
        Next s
        Label1.Caption = NStr
    End Sub
    LM

  6. #6
    Utente di HTML.it L'avatar di Boolean
    Registrato dal
    Oct 2005
    Messaggi
    758

    Re: [VB6] sostituzione all'interno di una stringa

    Originariamente inviato da ranza!!!123
    devo sostituire un carattare all'interno di una stringa ma facendo così

    codice:
    Print Mid("Ciao", 2, 1) = "D"
    non fa la sostituzione ma semplicemente verifica se il 2°carattere è "D"...

    sarà una cavolata ma nn ci riesco!
    è ovvio che se metti Print, non può mai funzionare perchè chiedi di stampare il risultato del confronto.

    prova così:

    codice:
    Stringa = "Ciao"
    Mid(Stringa, 2, 1) = "D"
    Print Stringa
    Boolean

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    In realta' in VB esiste

    1) la funzione Mid

    2) l' istruzione Mid

    Usi la funzione Mid in righe come

    Print Mid("Ciao", 2, 1)

    o

    A = Mid("Ciao", 2, 1)

    mentre, come aveva indicato Boolean, utilizzi l' istruzione Mid nella riga seguente

    Mid(Stringa, 2, 1) = "D"

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.