Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> C /C + + Προγραμματισμός

Πώς να αντικαταστήσει Αυθαίρετη κειμένου σε String σε C + +

Η βιβλιοθήκη C + + σειρά έχει πολλές χρήσιμες λειτουργίες για τον χειρισμό χορδών , αλλά όχι γενική αναζήτηση και να αντικαταστήσει . Παρά το γεγονός ότι υπάρχουν πολλές πληροφορίες σχετικά με βελτιστοποιημένη αλγορίθμους για την εφαρμογή αυθαίρετη αντικατάσταση κειμένου , πολλοί αλγόριθμοι περιλαμβάνουν περίπλοκες δομές δεδομένων και δύσκολο να ακολουθήσει τεχνικές όπως αριθμητικής δεικτών . Για τα περισσότερα προγράμματα , αναζήτηση και αντικατάσταση δεν είναι μια δυσχέρεια απόδοσης , έτσι ώστε να έχει περισσότερο νόημα για να χρησιμοποιήσει μια απλή , εύκολα κατανοητή αλγόριθμο . Αυτό είναι δυνατό με εκμεταλλευόμενοι κάποιες από τις υπάρχουσες λειτουργίες string για να χειριστεί την χαμηλού επιπέδου χειραγώγηση . Οδηγίες
Η 1

Γράψτε το περίγραμμα της λειτουργίας αντικατάσταση συμβολοσειράς σας :

replaceSubstring εγχόρδων (πηγή εγχόρδων , αγώνα στοιχειοσειράς, αντικατάσταση ) { σειρά από = " " ? Επιστρεψει ? } 2

Προσθέστε μια θηλιά που βρίσκει όλους τους αγώνες συμβολοσειράς στη συμβολοσειρά . Η μεταβλητή lastpos θα είναι χρήσιμο όταν ξεκινάτε την προσθήκη του κώδικα για να οικοδομήσουμε τη νέα σειρά :

size_t pos = 0 ? //Έναρξη αναζήτησης στα πρώτα lastpos charactersize_t = 0 ? Ενώ ( ( pos = source.find ( ! αγώνα , pos ) ) = χορδή :: ΟΜΚΧ ) //βρόχος μέχρι να τελειώσουν τα παιχνίδια που βρέθηκαν { pos pos = + match.lengh ( ) ? //Ξεκινήστε την αναζήτηση για τον επόμενο αγώνα στο τέλος αυτής της matchlastpos = pos ? }
εικόνων 3

Φτιάξτε το string της εξόδου , ​​όπως οι αγώνες που βρέθηκαν :

size_t pos = 0 ? //Έναρξη αναζήτησης στα πρώτα lastpos charactersize_t = 0 ? ενώ ( ( pos = ! source.find (αγώνας , pos ) ) = χορδή :: ΟΜΚΧ ) //βρόχος μέχρι να τελειώσουν τα παιχνίδια που βρέθηκαν { εξόδου + = source.substr ( lastpos , pos - lastpos ) ? //Προσθέστε όλους τους χαρακτήρες που έχουν παραληφθεί overoutput + = αντικαταστήσει? pos pos = + match.lengh ( ) ? //Ξεκινήστε την αναζήτηση για τον επόμενο αγώνα στο τέλος αυτής της matchlastpos = pos ? } εξόδου + = source.substr ( lastpos ) ? //Προσθέστε το υπόλοιπο της συμβολοσειράς πηγής
Η
εικόνων

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα