Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Rimuovere caratteri da una stringa
Forum - C# / VB.NET - Rimuovere caratteri da una stringa

Avatar
Al1972 (Normal User)
Newbie


Messaggi: 2
Iscritto: 11/03/2024

Segnala al moderatore
Postato alle 8:35
Lunedì, 11/03/2024
Salve community...
mostro il problema:

ho 2 textbox
nella text1 ho dentro la frase pippo, e scrivando esempio p nella text2, vorrei che mi cancelli le p rimanendo con il risultato
io
insomma, vorrei rimuovere qualsiasi carattere nella text1 scrivendo il carattere da rimuovere nell'altra textbox

ho provato cosi ma nulla:
Codice sorgente - presumibilmente VB.NET

  1. Dim TestString As String = TextBox1.Text
  2.         Dim aString As String = Replace(TestString, TextBox1.Text, TextBox2.Text)






al
PM Quote
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2308
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 14:20
Lunedì, 11/03/2024
Ciao!
Mostra i tuoi tentativi. E vediamo dov'é  l'errore.

Metodo più ¹ semplice, ciclo for per tutta la stringa. All'interno del ciclo for un'altro ciclo per le lettere da sostituire o rimuovere.


Ultima modifica effettuata da Thejuster il 11/03/2024 alle 14:27


https://mire.forumfree.it/ - Mire Engine
C# UI Designer
PM Quote
Avatar
Al1972 (Normal User)
Newbie


Messaggi: 2
Iscritto: 11/03/2024

Segnala al moderatore
Postato alle 14:47
Lunedì, 11/03/2024
dici che ho bisogno di 2 cicli for per avere un replace assoluto dentro la stringa?, mo faccio altre prove se servono indizi :noway:

Ultima modifica effettuata da Al1972 il 11/03/2024 alle 14:48


al
PM Quote
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2308
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 16:35
Lunedì, 11/03/2024
Certo vai con calma e cerca di trovare una soluzione logica.
In caso di problemi, posta il codice e troviamo una soluzione.


1 ciclo per iterare tutte le lettere della txt con la stringa completa, l'altro ciclo annidato per confrontare e aggiungere ad un nuovo array o lista per il risultato


Ultima modifica effettuata da Thejuster il 11/03/2024 alle 16:35


https://mire.forumfree.it/ - Mire Engine
C# UI Designer
PM Quote
Avatar
Carlo (Member)
Guru


Messaggi: 1349
Iscritto: 29/01/2018

Segnala al moderatore
Postato alle 22:04
Lunedì, 11/03/2024
Testo quotato

Postato originariamente da Al1972:
ho 2 textbox
nella text1 ho dentro la frase pippo, e scrivando esempio p nella text2, vorrei che mi cancelli le p rimanendo con il risultato
io
insomma, vorrei rimuovere qualsiasi carattere nella text1 scrivendo il carattere da rimuovere nell'altra textbox

ho provato cosi ma nulla:
Codice sorgente - presumibilmente VB.NET

  1. Dim TestString As String = TextBox1.Text
  2. Dim aString As String = Replace(TestString, TextBox1.Text, TextBox2.Text)





Come ti dice Thejuster devi fare due cicli se devi rimuovere più lettere diverse, se invece come sembra vuoi scrivere una singola lettera su TextBox2 e quella singola lettera deve essere usata per rimuovere le corrispondenti lettere eventualmente presenti in TextBox1, l'approcio che hai usato è quasi esatto.
hai sbagliato il secondo e il terzo parametro in replace:
Codice sorgente - presumibilmente VB.NET

  1. Dim TestString As String = TextBox1.Text
  2. Dim aString As String = Replace(TestString, TextBox2.Text, "")



Cosa significa la seconda riga?
In aString ci finisce il testo in TestString con il carattere presente in TextBox2 sostituito (replace) da un carattere nullo "".

Queste due righe da sole non sono sufficienti per creare un programma funzionale, dovresti mettere il codice in una sub:
Codice sorgente - presumibilmente VB.NET

  1. Private Sub TextBox2_TextChanged(sender As Object, e As EventArgs) Handles TextBox2.TextChanged
  2.         ....
  3.         ....
  4.         ....
  5.         ....
  6. End Sub


Quando lanci il programma, scrivi un testo in TextBox1, poi appena scrivi un carattere in TextBox2 la sub TextBox2_TextChanged viene eseguita, il carattere digitato eliminato da TestString, con il codice che ti ho corretto...
Mancano ancora due righe, una per copiare il risultato da aString in TextBox1, l'altra per cancellare il carattere appena immesso in TextBox2, così facendo ogni volta che digiti un carattere in TextBox2, se presente scompare dal testo in TextBox1 e la TextBox2 si cancella in modo da poter inserire un nuovo carattere.

Ultima modifica effettuata da Carlo il 12/03/2024 alle 8:23


in programmazione tutto è permesso
PM Quote