Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 21
  1. #11
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,886
    Quote Originariamente inviata da supermac Visualizza il messaggio
    E se comincia con "Inoltre..."?
    la funzione non fa nulla

  2. #12
    Moderatore di Windows e software L'avatar di URANIO
    Registrato dal
    Dec 1999
    residenza
    Casalpusterlengo (LO)
    Messaggi
    1,255
    Quote Originariamente inviata da supermac Visualizza il messaggio
    E se comincia con "Inoltre..."?
    Ti prenderebbe In in inoltre.
    Se vuoi la parola esatta potresti mettere lo spazio
    "^(In|Oltre)\s"
    (Probabilmente c'è un modo più elegante per scriverla, ma non amo particolarmente le regex da mettermi a cercarlo)


  3. #13
    Utente di HTML.it L'avatar di dwb
    Registrato dal
    Mar 2001
    residenza
    My IDE! :)
    Messaggi
    2,908
    Risolto! Grazie mille
    Ultima modifica di dwb; 05-02-2020 a 11:22
    ~Il nome di una variabile deve riflettere il suo scopo e non il suo tipo di dati, NET Framework.

  4. #14

  5. #15
    Utente di HTML.it L'avatar di dwb
    Registrato dal
    Mar 2001
    residenza
    My IDE! :)
    Messaggi
    2,908
    Quote Originariamente inviata da djciko Visualizza il messaggio
    come ?
    Integrando la funzione che mi hai suggerito:

    codice:
    public string replacePrimaOccorrenza(string input){
        StringBuilder sb = new StringBuilder();
         
    
        // Faccio a pezzettini la stringa di input tramite lo spazio fra una parola e l'altra
        string[] arrString;
        arrString = input.Split(' ');
    
    
        // Verifico se la prima parola è una delle due cercate (si possono anche parametrizzare)
        if (arrString[0].ToString().ToUpper() == "IN" || arrString[0].ToString().ToUpper() == "OLTRE")
        {
            for (int i = 1; i < arrString.Length; i++)
                sb.Append(arrString[i].ToString() + " ");
        }
    
    
        // Ritorno la stringa senza spazio finale
        return sb.ToString().Trim(); }
    ~Il nome di una variabile deve riflettere il suo scopo e non il suo tipo di dati, NET Framework.

  6. #16

  7. #17
    onestamente ci vedo un po' di spreco. risolvibile con i buoni vecchi fidati amici LEFT e MID...

  8. #18
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,886
    si puo' fare in tanti modi, io bado alla performance quando i progetti sono al limite.
    in quei casi mi metto a "limare" qui e li'


    il metodo piu' leggero è quello che ti ha detto Uranio

  9. #19
    sicuro che un

    IF LEFT(LCASE(mia_stringa),3)="in " THEN mia_stringa=MID(mia_stringa, 4)

    sia meno leggero?

    comunque, d'accordo con te che i metodi sono mille e uno sceglie quello che più gli piace

  10. #20
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,886
    non solo quello che piu' gli piace, ma quello che meglio si sposa con il resto dell'architettura...

    riguardo la domanda, la If piu' idonea secondo me è quella con StartsWith

    comunque ha ragione Uranio, sono cose che si fanno con le RegExp, quando si conoscono bene.



    esempi con startswith:
    codice:
    if (STRINGA.StartsWith("IN") || STRINGA.StartsWith("OLTRE")) 
    {
    ...
    }


    oppure vedi se ti piace cosi':
    codice:
    string risultato = string.Empty;
    
    
    //string mia_stringa= "Oltre la siepe c'era un bosco";
    string mia_stringa = "In the ghetto";
    
    
    if (mia_stringa.ToUpper().StartsWith("IN")) risultato = mia_stringa.Substring(3);
    if (mia_stringa.ToUpper().StartsWith("OLTRE")) risultato = mia_stringa.Substring(6);
    Ultima modifica di djciko; 05-02-2020 a 17:39

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 © 2024 vBulletin Solutions, Inc. All rights reserved.