| Home  | Casa  | Hardware  | Networking  | Programmazione  | Software  | Domanda  | Sistemi  |   
Programmazione  
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Java Programming

  • Programmazione Javascript

  • PHP /MySQL Programmazione

  • Perl Programming

  • Python Programming

  • rubino Programmazione

  • Nozioni di base di Visual Programming
  •  
    Conoscenza Informatica >> Programmazione >> C /C + + Programming >> Content
    Come sostituire arbitraria di testo in stringa in C + +
    La libreria C + + stringa ha diverse funzioni utili per la manipolazione di stringhe , ma nessuna ricerca generale e sostituire . Anche se c'è un sacco di informazioni su algoritmi ottimizzati per l'attuazione di sostituzione del testo arbitrario , molti algoritmi coinvolgono strutture dati complesse e difficili da seguire tecniche come l'aritmetica dei puntatori . Per la maggior parte dei programmi , ricerca e la sostituzione non è un collo di bottiglia , quindi ha più senso utilizzare un algoritmo semplice , facilmente comprensibile. Questo è possibile sfruttando alcune funzioni stringa esistenti per gestire la manipolazione di basso livello . Istruzioni
    1

    Scrivi il contorno della vostra funzione di sostituzione di stringa :

    ReplaceSubstring string ( stringa di origine , match stringa , stringa sostituire ) {string out = ""; tornare fuori ; }
    2

    Aggiungi un loop che trova tutte le corrispondenze a sottostringhe nella stringa . I lastpos variabile sarà utile quando si inizia ad aggiungere il codice per costruire la nuova stringa :

    size_t pos = 0; //Inizia la ricerca ai primi lastpos charactersize_t = 0 ; while ( ( pos = source.find ( ! partita , pos) ) = string :: ONP ) //ciclo fino a quando non vengono trovate corrispondenze {pos = pos + match.lengh ( ) ; //Avvia la ricerca della prossima partita alla fine di questo matchlastpos = pos; }
    3

    costruire la stringa di output , come si trovano gli incontri:

    size_t pos = 0; //Inizia la ricerca ai primi lastpos charactersize_t = 0 ; while ( ( pos = source.find ( partita , pos) ) = string :: ONP ) //ciclo fino a quando non vengono trovate corrispondenze {output + = source.substr ( lastpos , pos - lastpos ) ; ! //Aggiungi tutti i caratteri che sono stati ignorati overoutput + = sostituire; pos = pos + match.lengh ( ) ; //Avvia la ricerca della prossima partita alla fine di questo matchlastpos = pos; } uscita + = source.substr ( lastpos ) ; //Aggiungere il resto della stringa di origine

    Previous :

    next :
      Articoli Correlati
    ·Come scrivere una classe Queue in C + + 
    ·Come convertire Int32 in C + + 
    ·Differenze tra ATL , MFC e Win32 
    ·Come stampare un triangolo in C 
    ·Come leggere punti da un file grafico in C + + 
    ·Come convertire C + + per ADA 
    ·Come includere un file header 
    ·Come invertire un array in C + + 
    ·Definizione di forme di Visual Basic 
    ·Iomanip Funzioni 
      Articoli in evidenza
    ·Valore di VBA funzione di ritorno 
    ·Differenza tra linguaggio interpretato e compilato 
    ·Come creare un contatore PHP senza tassare il Server 
    ·Come importare un file CSV nel database utilizzando PHP…
    ·Come aggiungere un risultato di una lista in Prolog 
    ·Come nominare una variabile utilizzando un SAS Macro 
    ·Come rimuovere l'ultimo carattere in VB.Net 
    ·Come trovare la più lunga stringa di input in Python 
    ·Come creare un'interruzione di riga in una e-mail 
    ·Come aggiungere gli stili con JavaScript 
    Copyright © Conoscenza Informatica http://it.wingwit.com