Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di Ironmax
    Registrato dal
    Dec 2008
    Messaggi
    1,026

    Confrontare stringhe senza perdita caratteri c#

    Salve.
    Il seguente ciclo prende due stringhe e le confronta e restituisce la seconda stringa come la prima s:
    codice:
                string s = "portare";
                string s2 = "artopre";
                string s3 = String.Empty;
                foreach (char c in s)
                {
                    foreach (char c2 in s2)
                    {
                        if ((c2 == c) && !(s3.Contains(c2)))
                            s3 += c2;
                    }
                }
                Console.WriteLine("Stringa con parola corretta:\t " + s);
                Console.WriteLine("Stringa di confronto:\t\t " + s3);
                Console.ReadLine();
    Solo, che se incontra una seconda volta lo stesso carattere non l'ho memorizza nella variabile s3.
    Qualcuno ha qualche idea per ovviare a questo problema.
    Grazie.

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    970


    codice:
    string s = "portare";
                string s2 = "artopre";
                string s3 = String.Empty;
                foreach (char c in s)
                {
                    foreach (char c2 in s2)
                    {
                        if (c2 == c)  s3 += c2;
                    }
                }
                Console.WriteLine("Stringa con parola corretta:\t " + s);
                Console.WriteLine("Stringa di confronto:\t\t " + s3);
                Console.ReadLine();
    Sbagliare è umano, perseverare è diabolico.

  3. #3
    Utente di HTML.it L'avatar di Ironmax
    Registrato dal
    Dec 2008
    Messaggi
    1,026
    Ciao Pirelli72.
    Ho testato il tuo codice, rincompone la seconda stringa come la prima ma al posto di tagliare i caratterri raddoppia quelli che sono già doppi.

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    970

    Re: Confrontare stringhe senza perdita caratteri c#

    Scusa, allora hai scritto:

    Originariamente inviato da Ironmax
    Salve.
    Il seguente ciclo prende due stringhe e le confronta e restituisce la seconda stringa come la prima s:
    che ovviamente non ha senso, in realtà quello che quel codice fa é:
    - il seguente ciclo prende due stringhe, le confronta e restituisce una terza stringa contenente i caratteri in comune senza tenere conto dei caratteri doppi.

    Il che è un po diverso.

    Poi hai scritto:


    Solo, che se incontra una seconda volta lo stesso carattere non l'ho memorizza nella variabile s3.
    Qualcuno ha qualche idea per ovviare a questo problema.
    Grazie.
    Infatti quello che fa, perchè il codice originale fa (ripeto) :
    il seguente ciclo prende due stringhe, le confronta e restituisce una terza stringa contenente i caratteri in comune senza tenere conto dei caratteri doppi.

    Poi hai scritto:

    Qualcuno ha qualche idea per ovviare a questo problema.
    E ti ho posto la soluzione e tu mi rispondi:

    Ho testato il tuo codice, rincompone la seconda stringa come la prima ma al posto di tagliare i caratterri raddoppia quelli che sono già doppi.
    O mi sto rincoxxxxxxo io o.......!!!
    Sbagliare è umano, perseverare è diabolico.

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2008
    Messaggi
    93
    poi era necessario aprire un altro post per una domanda inerente al codice dell'altra discussione??

  6. #6
    Utente di HTML.it L'avatar di Ironmax
    Registrato dal
    Dec 2008
    Messaggi
    1,026
    Ho letto quello che mi hai detto Pirelli72, in effetti confronta due stringhe con il ciclo foreach e poi ne restituisce una terza.
    Però l'hai testato il codice? Ad esempio con la parola "portare" nella terza stringa ottengo "porrtarre", cioè raddoppia la 'r', che ,come vedi, nella parola della prima stringa risulta ripetuto due volte.

    ratal
    poi era necessario aprire un altro post per una domanda inerente al codice dell'altra discussione??
    Scusa ratal non siamo in un forum
    Forse alcune volte il titolo può specificare qualcosa di più.

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    970
    Come al solito non spiegate cosa effettivamente vi serve!


    codice:
     foreach (char c in s)
                {
                    foreach (char c2 in s2)
                    {
                        if ((c2 == c) )
                        {
                            s3 += c2;
                            break;
                        }
                            
                    }
                }
    Ora s3 da 'portare'.
    Sbagliare è umano, perseverare è diabolico.

  8. #8
    Utente di HTML.it L'avatar di Ironmax
    Registrato dal
    Dec 2008
    Messaggi
    1,026
    Grazie Pirelli72. Funonzia
    Scusa poresti solo dirmi come trimmare, o meglio dire, cancellare le prime due lettere della stringa?

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    970
    codice:
       s3 = s3.Substring(2)
    Sbagliare è umano, perseverare è diabolico.

  10. #10
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    970
    codice:
        s3 = s3.Substring(2);
    Sbagliare è umano, perseverare è diabolico.

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.