Εργασία με συμβολοσειρές σε javascript: πλήρης ανάλυση των μεταβλητών συμβολοσειρών

Χαιρετισμούς σε όλους όσοι αποφάσισαν να μάθουν μια γλώσσα προσανατολισμένη στα πρωτότυπα. Την τελευταία φορά που σας είπα για , και σήμερα θα αναλύσουμε τις συμβολοσειρές JavaScript. Δεδομένου ότι σε αυτήν τη γλώσσα όλα τα στοιχεία κειμένου είναι συμβολοσειρές (δεν υπάρχει ξεχωριστή μορφή για χαρακτήρες), μπορείτε να μαντέψετε ότι αυτή η ενότητα καταλαμβάνει σημαντικό μέρος στην εκμάθηση της σύνταξης js.

Αυτός είναι ο λόγος για τον οποίο σε αυτήν τη δημοσίευση θα σας πω πώς δημιουργούνται τα στοιχεία συμβολοσειράς, ποιες μέθοδοι και ιδιότητες παρέχονται για αυτά, πώς να μετατρέψετε σωστά τις συμβολοσειρές, για παράδειγμα, να μετατρέψετε σε αριθμό, πώς να εξαγάγετε την επιθυμητή υποσυμβολοσειρά και πολλά άλλα. Επιπλέον, θα επισυνάψω παραδείγματα κώδικα προγράμματος. Τώρα ας ασχοληθούμε!

Σύνταξη μεταβλητής συμβολοσειράς

Στη γλώσσα js, όλες οι μεταβλητές δηλώνονται χρησιμοποιώντας τη λέξη-κλειδί var και στη συνέχεια, ανάλογα με τη μορφή των παραμέτρων, προσδιορίζεται ο τύπος της δηλωμένης μεταβλητής. Όπως θυμάστε από την JavaScript, δεν υπάρχει ισχυρή πληκτρολόγηση. Γι' αυτό υπάρχει αυτή η κατάσταση στον κώδικα.

Κατά την προετοιμασία μεταβλητών, οι τιμές μπορούν να πλαισιωθούν σε διπλό, μονό και από το 2015, σε λοξά μονά εισαγωγικά. Παρακάτω έχω επισυνάψει παραδείγματα για κάθε μέθοδο δήλωσης συμβολοσειρών.

Θέλω να δώσω ιδιαίτερη προσοχή στην τρίτη μέθοδο. Έχει μια σειρά από πλεονεκτήματα.

Με τη βοήθειά του, μπορείτε εύκολα να πραγματοποιήσετε μια αλλαγή γραμμής και θα μοιάζει με αυτό:

alert(`αρκετά

μεταφέρομαι

Και η τρίτη μέθοδος σας επιτρέπει να χρησιμοποιήσετε την κατασκευή $(…). Αυτό το εργαλείο είναι απαραίτητο για την εισαγωγή παρεμβολής. Μην ανησυχείτε, τώρα θα σας πω τι είναι.

Χάρη στο $(…) μπορείτε να εισαγάγετε όχι μόνο τιμές μεταβλητών σε συμβολοσειρές, αλλά και να εκτελέσετε αριθμητικές και λογικές πράξεις με αυτές, μεθόδους κλήσης, συναρτήσεις κ.λπ. Όλα αυτά ονομάζονται ένας όρος - παρεμβολή. Δείτε ένα παράδειγμα εφαρμογής αυτής της προσέγγισης.

1 2 3 var στυλό = 3; var μολύβι = 1; alert(`$(στυλό) + $(μολύβι*5) = $(στυλό + μολύβι)`);

var στυλό = 3; var μολύβι = 1; alert(`$(στυλό) + $(μολύβι*5) = $(στυλό + μολύβι)`);

Ως αποτέλεσμα, η έκφραση "3 + 1*5 = 8" θα εμφανιστεί στην οθόνη.

Όσο για τους δύο πρώτους τρόπους δήλωσης συμβολοσειρών, δεν υπάρχει διαφορά σε αυτούς.

Ας μιλήσουμε λίγο για ειδικούς χαρακτήρες

Πολλές γλώσσες προγραμματισμού έχουν ειδικούς χαρακτήρες που βοηθούν στο χειρισμό κειμένου σε συμβολοσειρές. Το πιο γνωστό από αυτά είναι το line break (\n).

Όλα τα παρόμοια εργαλεία αρχίζουν αρχικά με ανάστροφη κάθετο (\) και ακολουθούνται από γράμματα του αγγλικού αλφαβήτου.

Παρακάτω έχω επισυνάψει έναν μικρό πίνακα που παραθέτει μερικούς ειδικούς χαρακτήρες.

Διαθέτουμε ένα βαρύ οπλοστάσιο μεθόδων και ιδιοτήτων

Οι προγραμματιστές γλωσσών παρείχαν πολλές μεθόδους και ιδιότητες για την απλοποίηση και τη βελτιστοποίηση της εργασίας με συμβολοσειρές. Και με την κυκλοφορία ενός νέου προτύπου που ονομάζεται ES-2015 πέρυσι, αυτή η λίστα αναπληρώθηκε με νέα εργαλεία.

Μήκος

Θα ξεκινήσω με την πιο δημοφιλή ιδιότητα, η οποία βοηθά να μάθουμε το μήκος των τιμών των μεταβλητών συμβολοσειράς. Αυτό μήκος. Χρησιμοποιείται ως εξής:

var string = "Μονόκεροι";

alert(string.length);

Η απάντηση θα εμφανίσει τον αριθμό 9. Αυτή η ιδιότητα μπορεί επίσης να εφαρμοστεί στις ίδιες τις τιμές:

"Μονόκεροι".μήκος;

Το αποτέλεσμα δεν θα αλλάξει.

charAt()

Αυτή η μέθοδος σάς επιτρέπει να εξαγάγετε έναν συγκεκριμένο χαρακτήρα από κείμενο. Επιτρέψτε μου να σας υπενθυμίσω ότι η αρίθμηση ξεκινά από το μηδέν, επομένως για να εξαγάγετε τον πρώτο χαρακτήρα από μια συμβολοσειρά, πρέπει να γράψετε τις ακόλουθες εντολές:

var string = "Μονόκεροι";

alert(string.charAt(0));.

Ωστόσο, το αποτέλεσμα που θα προκύψει δεν θα είναι τύπος χαρακτήρων, θα εξακολουθεί να θεωρείται συμβολοσειρά με ένα γράμμα.

Από toLowerCase() σε UpperCase()

Αυτές οι μέθοδοι ελέγχουν την περίπτωση των χαρακτήρων. Όταν γράφετε τον κωδικό "Περιεχόμενο".

toUpperCase()ολόκληρη η λέξη θα εμφανίζεται με κεφαλαία γράμματα.

Για το αντίθετο αποτέλεσμα, θα πρέπει να χρησιμοποιήσετε το "Περιεχόμενο". toLowerCase().

indexOf()

Ένα δημοφιλές και απαραίτητο εργαλείο για την αναζήτηση υποσυμβολοσειρών. Ως όρισμα, πρέπει να εισαγάγετε τη λέξη ή τη φράση που θέλετε να βρείτε και η μέθοδος επιστρέφει τη θέση του στοιχείου που βρέθηκε. Εάν το κείμενο που αναζητήθηκε δεν βρέθηκε, το "-1" θα επιστραφεί στον χρήστη.

1 2 3 4 var text = "Οργανώστε μια αναζήτηση λουλουδιών!"; alert(text.indexOf("color")); //19 alert(text.indexOf(" ")); //12 alert(text.lastIndexOf(" ")); //18

var text = "Οργανώστε μια αναζήτηση λουλουδιών!"; alert(text.indexOf("color")); //19 alert(text.indexOf(" ")); //12 alert(text.lastIndexOf(" ")); //18

Σημειώστε ότι η lastIndexOf() κάνει το ίδιο πράγμα, μόνο που αναζητά από το τέλος της πρότασης.

Εξαγωγή υποχορδών

Για αυτήν την ενέργεια, δημιουργήθηκαν τρεις περίπου πανομοιότυπες μέθοδοι στο js.

Ας το δούμε πρώτα υποσυμβολοσειρά (έναρξη, τέλος)Και φέτα (αρχή, τέλος). Λειτουργούν το ίδιο. Το πρώτο όρισμα ορίζει την αρχική θέση από την οποία θα ξεκινήσει η εξαγωγή και το δεύτερο είναι υπεύθυνο για το τελικό σημείο στάσης. Και στις δύο μεθόδους, η συμβολοσειρά εξάγεται χωρίς να περιλαμβάνεται ο χαρακτήρας που βρίσκεται στην τελική θέση.

var text = "Ατμόσφαιρα"; alert(text.substring(4)); // θα εμφανίσει την ειδοποίηση "sphere"(text.substring(2, 5)); //εμφάνιση ειδοποίησης "mos"(text.slice(2, 5)); //εμφάνιση "mos"

Τώρα ας δούμε την τρίτη μέθοδο, η οποία ονομάζεται substr(). Πρέπει επίσης να περιλαμβάνει 2 ορίσματα: αρχήΚαι μήκος.

Το πρώτο καθορίζει την αρχική θέση και το δεύτερο καθορίζει τον αριθμό των χαρακτήρων που πρέπει να εξαχθούν. Για να εντοπίσω τις διαφορές μεταξύ αυτών των τριών εργαλείων, χρησιμοποίησα το προηγούμενο παράδειγμα.

var text = "Ατμόσφαιρα";

alert(text.substr(2, 5)); //εμφάνιση "mosfe"

Χρησιμοποιώντας τα αναφερόμενα μέσα λήψης υποσυμβολοσειρών, μπορείτε να αφαιρέσετε περιττούς χαρακτήρες από νέα στοιχεία γραμμής με τα οποία στη συνέχεια λειτουργεί το πρόγραμμα.

Απάντηση()

Αυτή η μέθοδος βοηθά στην αντικατάσταση χαρακτήρων και δευτερευουσών συμβολοσειρών στο κείμενο. Μπορεί επίσης να χρησιμοποιηθεί για την υλοποίηση καθολικών αντικαταστάσεων, αλλά για να γίνει αυτό πρέπει να συμπεριλάβετε κανονικές εκφράσεις.

Αυτό το παράδειγμα θα αντικαταστήσει τη δευτερεύουσα συμβολοσειρά μόνο στην πρώτη λέξη.

var text = "Ατμόσφαιρα Ατμόσφαιρας"; var newText = text.replace("Atmo","Strato") alert(newText) // Αποτέλεσμα: Stratosphere Atmosphere

Και σε αυτήν την εφαρμογή λογισμικού, λόγω της σημαίας της κανονικής έκφρασης "g", θα πραγματοποιηθεί μια καθολική αντικατάσταση.

var text = "Ατμόσφαιρα Ατμόσφαιρας"; var newText = text.replace(/Atmo/g,"Strato") alert(newText) // Αποτέλεσμα: Stratosphere Stratosphere

Ας κάνουμε τη μετατροπή

Η JavaScript παρέχει μόνο τρεις τύπους μετατροπής τύπου αντικειμένου:

  1. Αριθμητικός;
  2. Σειρά;
  3. Boolean.

Στην τρέχουσα δημοσίευση θα μιλήσω για 2 από αυτά, αφού η γνώση για αυτά είναι πιο απαραίτητη για την εργασία με χορδές.

Αριθμητική μετατροπή

Για να μετατρέψετε ρητά την τιμή ενός στοιχείου σε αριθμητική φόρμα, μπορείτε να χρησιμοποιήσετε Αριθμός (τιμή).

Υπάρχει επίσης μια πιο σύντομη έκφραση: +"999".

var a = Αριθμός ("999");

Μετατροπή συμβολοσειράς

Εκτελείται από τη συνάρτηση συναγερμός, καθώς και μια ρητή κλήση Συμβολοσειρά (κείμενο).

1 2 3 alert (999+ "super price") var text = String(999) alert(text === "999");

alert (999+ "super price") var text = String(999) alert(text === "999");

Σε αυτό το σημείωμα, αποφάσισα να τελειώσω τη δουλειά μου. Εγγραφείτε στο blog μου και μην ξεχάσετε να μοιραστείτε το σύνδεσμο με τους φίλους σας. Σας εύχομαι καλή επιτυχία στις σπουδές σας. Αντίο!

Με εκτίμηση, Roman Chueshov

Ανάγνωση: 130 φορές

Υπάρχουν διάφοροι τρόποι επιλογής υποσυμβολοσειρών στο JavaScript, μεταξύ των οποίων substring(), substr(), φέτα()και λειτουργίες regexp.

Σε JavaScript 1.0 και 1.1, substring()υπάρχει ως ο μόνος απλός τρόπος για να επιλέξετε μέρος μιας μεγαλύτερης συμβολοσειράς. Για παράδειγμα, για να επιλέξετε τη γραμμή τύποςαπό Εκφραση, χρήση "Expression".substring(2,7). Η πρώτη παράμετρος στη συνάρτηση είναι ο δείκτης χαρακτήρων από τον οποίο ξεκινά η επιλογή, ενώ η δεύτερη παράμετρος είναι ο δείκτης χαρακτήρων στον οποίο τελειώνει η επιλογή (χωρίς να περιλαμβάνει): υποσυμβολοσειρά(2,7)περιλαμβάνει τους δείκτες 2, 3, 4, 5 και 6.

Στο JavaScript 1.2, λειτουργίες substr(), φέτα()Και regexpμπορεί επίσης να χρησιμοποιηθεί για να χωρίσει χορδές.

Substr()συμπεριφέρεται με τον ίδιο τρόπο όπως υποστρτη γλώσσα Pearl, όπου η πρώτη παράμετρος υποδεικνύει τον δείκτη χαρακτήρων από τον οποίο ξεκινά η επιλογή, ενώ η δεύτερη παράμετρος καθορίζει το μήκος της υποσυμβολοσειράς. Για να εκτελέσετε την ίδια εργασία όπως στο προηγούμενο παράδειγμα, πρέπει να χρησιμοποιήσετε "Expression".substr(2,5). Θυμηθείτε, το 2 είναι το σημείο εκκίνησης και το 5 είναι το μήκος της υποσυμβολοσειράς που προκύπτει.

Όταν χρησιμοποιείται σε χορδές, φέτα()συμπεριφέρεται παρόμοια με τη συνάρτηση substring(). Είναι, ωστόσο, πολύ πιο ισχυρό, ικανό να λειτουργεί με οποιοδήποτε τύπο πίνακα, όχι μόνο με συμβολοσειρές. φέτα()χρησιμοποιεί επίσης αρνητικές μετατοπίσεις για πρόσβαση στην επιθυμητή θέση, ξεκινώντας από το τέλος της γραμμής. "Expression".slice(2,-3)θα επιστρέψει τη δευτερεύουσα συμβολοσειρά που βρέθηκε μεταξύ του δεύτερου χαρακτήρα και του τρίτου χαρακτήρα από το τέλος, επιστρέφοντας ξανά πατώντας.

Η τελευταία και πιο καθολική μέθοδος για εργασία με υποσυμβολοσειρές είναι η εργασία μέσω συναρτήσεων τυπικής έκφρασης στο JavaScript 1.2. Για άλλη μια φορά, δίνοντας προσοχή στο ίδιο παράδειγμα, την υποσυμβολοσειρά "τύπος"που λαμβάνεται από τη συμβολοσειρά "Εκφραση":

Write("Expression".match(/press/));

Ενσωματωμένο αντικείμενο Σειρά

Ενα αντικείμενο ΣειράΑυτή είναι μια υλοποίηση αντικειμένου μιας πρωτόγονης τιμής συμβολοσειράς. Ο κατασκευαστής του μοιάζει με:

Νέα συμβολοσειρά( έννοια?)

Εδώ έννοιαοποιαδήποτε έκφραση συμβολοσειράς που καθορίζει την πρωταρχική τιμή ενός αντικειμένου. Εάν δεν προσδιορίζεται, η αρχική τιμή του αντικειμένου είναι "" .

Ιδιότητες του αντικειμένου String:

κατασκευαστήςΟ κατασκευαστής που δημιούργησε το αντικείμενο. Αριθμός χαρακτήρων ανά γραμμή. πρωτότυποΜια αναφορά στο πρωτότυπο της κλάσης αντικειμένου.

Τυπικές μέθοδοι αντικειμένου συμβολοσειράς

Επιστρέφει τον χαρακτήρα στη δεδομένη θέση στη συμβολοσειρά. Επιστρέφει τον κωδικό του χαρακτήρα που βρίσκεται σε μια δεδομένη θέση στη συμβολοσειρά. Επιστρέφει μια συνένωση χορδών. Δημιουργεί μια συμβολοσειρά από χαρακτήρες που καθορίζονται από κωδικούς Unicode. Επιστρέφει τη θέση της πρώτης εμφάνισης της καθορισμένης υποσυμβολοσειράς. Επιστρέφει τη θέση της τελευταίας εμφάνισης της καθορισμένης υποσυμβολοσειράς. Συγκρίνει δύο συμβολοσειρές με βάση τη γλώσσα του λειτουργικού συστήματος. Ταιριάζει μια συμβολοσειρά με μια κανονική έκφραση. Αντιστοιχίζει μια συμβολοσειρά με μια κανονική έκφραση και αντικαθιστά τη δευτερεύουσα συμβολοσειρά που βρέθηκε με μια νέα υποσυμβολοσειρά. Ταιριάζει μια συμβολοσειρά με μια κανονική έκφραση. Ανακτά μέρος μιας συμβολοσειράς και επιστρέφει μια νέα συμβολοσειρά. Διαχωρίζει μια συμβολοσειρά σε μια σειρά από υποσυμβολοσειρές. Επιστρέφει μια υποσυμβολοσειρά που δίνεται με βάση τη θέση και το μήκος. Επιστρέφει μια υποσυμβολοσειρά που καθορίζεται από τις θέσεις έναρξης και λήξης. Μετατρέπει όλα τα γράμματα μιας συμβολοσειράς σε πεζά, λαμβάνοντας υπόψη τη γλώσσα του λειτουργικού συστήματος. Μετατρέπει όλα τα γράμματα μιας συμβολοσειράς σε κεφαλαία, λαμβάνοντας υπόψη τη γλώσσα του λειτουργικού συστήματος. Μετατρέπει όλα τα γράμματα μιας συμβολοσειράς σε πεζά. Μετατρέπει ένα αντικείμενο σε συμβολοσειρά. Μετατρέπει όλα τα γράμματα μιας συμβολοσειράς σε κεφαλαία. Επιστρέφει την πρωταρχική τιμή του αντικειμένου.

Μη τυπικές μέθοδοι του αντικειμένου String

Δημιουργεί έναν σελιδοδείκτη HTML ( …). Τυλίγει μια συμβολοσειρά σε ετικέτες …. Τυλίγει μια συμβολοσειρά σε ετικέτες …. Τυλίγει μια συμβολοσειρά σε ετικέτες …. Τυλίγει μια συμβολοσειρά σε ετικέτες …. Τυλίγει μια συμβολοσειρά σε ετικέτες …. Τυλίγει μια συμβολοσειρά σε ετικέτες …. Τυλίγει μια συμβολοσειρά σε ετικέτες …. Δημιουργεί μια υπερσύνδεση HTML (). Τυλίγει μια συμβολοσειρά σε ετικέτες …. Τυλίγει μια συμβολοσειρά σε ετικέτες …. Τυλίγει μια συμβολοσειρά σε ετικέτες …. Τυλίγει μια συμβολοσειρά σε ετικέτες ….

ιδιότητα μήκους

Σύνταξη : ένα αντικείμενο.μήκος Γνωρίσματα: (DontEnum, DontDelete, ReadOnly)

Αξία περιουσίας μήκοςείναι ο αριθμός των χαρακτήρων στη γραμμή. Για μια κενή συμβολοσειρά αυτή η τιμή είναι μηδέν.

μέθοδος αγκύρωσης

Σύνταξη : ένα αντικείμενο.άγκυρα( Ονομα) Επιχειρήματα: Ονομα Αποτέλεσμα: τιμή συμβολοσειράς

Μέθοδος άγκυρα αντικείμενο, περικλείεται σε ετικέτες …. Δεν υπάρχει έλεγχος για να διαπιστωθεί εάν η αρχική συμβολοσειρά ήταν ήδη εγκλεισμένη σε αυτές τις ετικέτες. Αυτή η μέθοδος χρησιμοποιείται σε συνδυασμό με τις μεθόδους document.write και document.writeln για τη δημιουργία ενός σελιδοδείκτη σε ένα έγγραφο HTML με τα καθορισμένα όνομα. Για παράδειγμα, ο τελεστής document.write("My text".anchor("Bookmark")) είναι ισοδύναμος με τον τελεστή document.write(" Το κείμενό μου") .

μεγάλη μέθοδος

Σύνταξη : ένα αντικείμενο.μεγάλο() Αποτέλεσμα: τιμή συμβολοσειράς

Μέθοδος μεγάλοεπιστρέφει μια συμβολοσειρά που αποτελείται από αντικείμενο, περικλείεται σε ετικέτες …. Δεν υπάρχει έλεγχος για να διαπιστωθεί εάν η αρχική συμβολοσειρά ήταν ήδη εγκλεισμένη σε αυτές τις ετικέτες. Αυτή η μέθοδος χρησιμοποιείται σε συνδυασμό με τις μεθόδους document.write και document.writeln για την εμφάνιση κειμένου με μεγάλη γραμματοσειρά. Για παράδειγμα, η δήλωση document.write("My text".big()) θα εμφανίσει τη συμβολοσειρά My text στην οθόνη του προγράμματος περιήγησης.

μέθοδος αναβοσβήνει

Σύνταξη : ένα αντικείμενο.αναβοσβήνω() Αποτέλεσμα: τιμή συμβολοσειράς

Μέθοδος αναβοσβήνωεπιστρέφει μια συμβολοσειρά που αποτελείται από μια αρχική τιμή συμβολοσειράς αντικείμενο, περικλείεται σε ετικέτες …. Δεν υπάρχει έλεγχος για να διαπιστωθεί εάν η αρχική συμβολοσειρά ήταν ήδη εγκλεισμένη σε αυτές τις ετικέτες. Αυτή η μέθοδος χρησιμοποιείται σε συνδυασμό με τις μεθόδους document.write και document.writeln για την εμφάνιση κειμένου σε γραμματοσειρά που αναβοσβήνει. Αυτές οι ετικέτες δεν αποτελούν μέρος του προτύπου HTML και υποστηρίζονται μόνο από προγράμματα περιήγησης Netscape και WebTV. Για παράδειγμα, η δήλωση document.write("My text".blink()) θα εμφανίσει τη συμβολοσειρά My text στην οθόνη του προγράμματος περιήγησης.

τολμηρή μέθοδος

Σύνταξη : ένα αντικείμενο.τολμηρός() Αποτέλεσμα: τιμή συμβολοσειράς

Μέθοδος τολμηρόςεπιστρέφει μια συμβολοσειρά που αποτελείται από μια αρχική τιμή συμβολοσειράς αντικείμενο, περικλείεται σε ετικέτες …. Δεν υπάρχει έλεγχος για να διαπιστωθεί εάν η αρχική συμβολοσειρά ήταν ήδη εγκλεισμένη σε αυτές τις ετικέτες. Αυτή η μέθοδος χρησιμοποιείται σε συνδυασμό με τις μεθόδους document.write και document.writeln για την εμφάνιση κειμένου με έντονη γραμματοσειρά. Για παράδειγμα, ο τελεστής document.write("My text".bold()) θα εμφανίσει τη γραμμή Το κείμενό μου .

μέθοδος charAt

Σύνταξη : ένα αντικείμενο.charAt( θέση) Επιχειρήματα: θέσηοποιαδήποτε αριθμητική έκφραση Αποτέλεσμα: τιμή συμβολοσειράς

Μέθοδος χαρΑτεπιστρέφει μια συμβολοσειρά που αποτελείται από τον χαρακτήρα που βρίσκεται στο δεδομένο θέσειςπρωτόγονη τιμή συμβολοσειράς αντικείμενο. Οι θέσεις χαρακτήρων γραμμής αριθμούνται από το μηδέν έως το ένα αντικείμενο. -1.

Εάν η θέση βρίσκεται εκτός αυτού του εύρους, επιστρέφεται μια κενή συμβολοσειρά. Για παράδειγμα, η δήλωση document.write("String".charAt(0)) θα εκτυπώσει τον χαρακτήρα C στην οθόνη του προγράμματος περιήγησης.

Σύνταξη : ένα αντικείμενοΜέθοδος charCodeAt θέση) Επιχειρήματα: θέσηοποιαδήποτε αριθμητική έκφραση Αποτέλεσμα.charCodeAt(

Μέθοδος χαρΑτ: αριθμητική αξία θέσειςπρωτόγονη τιμή συμβολοσειράς αντικείμενοεπιστρέφει έναν αριθμό ίσο με τον κωδικό Unicode του χαρακτήρα που βρίσκεται στο δεδομένο ένα αντικείμενο. Οι θέσεις χαρακτήρων γραμμής αριθμούνται από το μηδέν έως το . -1.Εάν η θέση είναι εκτός αυτού του εύρους, επιστρέφει

NaN

Σύνταξη : ένα αντικείμενο. Για παράδειγμα, ο τελεστής document.write("String".charCodeAt(0).toString(16)) θα εμφανίσει τον δεκαεξαδικό κωδικό του ρωσικού γράμματος "C" στην οθόνη του προγράμματος περιήγησης: 421. μέθοδος concat, .concat(, …, γραμμή 0) Επιχειρήματα: μέθοδος concat, .concat(, …, γραμμή 0γραμμή 1 Αποτέλεσμα: τιμή συμβολοσειράς

Μέθοδος stringNοποιεσδήποτε εκφράσεις συμβολοσειρών

ένα αντικείμενο + μέθοδος concat + .concat( + … + γραμμή 0

συγκατ

επιστρέφει μια νέα συμβολοσειρά που είναι η συνένωση της αρχικής συμβολοσειράς και των ορισμάτων της μεθόδου. Αυτή η μέθοδος είναι ισοδύναμη με τη λειτουργία

Σύνταξη : ένα αντικείμενοΓια παράδειγμα, ο χειριστής document.write("Frost and sun.".concat("Wonderful day.")) θα εμφανίσει τη γραμμή Frost and sun στην οθόνη του προγράμματος περιήγησης. Είναι μια υπέροχη μέρα. Αποτέλεσμα: τιμή συμβολοσειράς

Μέθοδος σταθερή μέθοδοςεπιστρέφει μια συμβολοσειρά που αποτελείται από μια αρχική τιμή συμβολοσειράς αντικείμενο, περικλείεται σε ετικέτες ….σταθερός()

σταθερός

Σύνταξη : ένα αντικείμενο. Δεν υπάρχει έλεγχος για να διαπιστωθεί εάν η αρχική συμβολοσειρά ήταν ήδη εγκλεισμένη σε αυτές τις ετικέτες. Αυτή η μέθοδος χρησιμοποιείται σε συνδυασμό με τις μεθόδους document.write και document.writeln για την εμφάνιση κειμένου σε γραμματοσειρά teletype. Για παράδειγμα, η δήλωση document.write("My text".fixed()) θα εμφανίσει τη συμβολοσειρά My text στην οθόνη του προγράμματος περιήγησης. Επιχειρήματα: μέθοδος γραμματοσειράς.fontcolor(color) Αποτέλεσμα: τιμή συμβολοσειράς

Μέθοδος χρώμαεπιστρέφει μια συμβολοσειρά που αποτελείται από μια αρχική τιμή συμβολοσειράς αντικείμενο, περικλείεται σε ετικέτες μέθοδος γραμματοσειράς>…. Δεν υπάρχει έλεγχος για να διαπιστωθεί εάν η αρχική συμβολοσειρά ήταν ήδη εγκλεισμένη σε αυτές τις ετικέτες. Αυτή η μέθοδος χρησιμοποιείται σε συνδυασμό με τις μεθόδους document.write και document.writeln για την εμφάνιση κειμένου σε ένα καθορισμένο χρώμα. Για παράδειγμα, η δήλωση document.write("My text".fontcolor("red")) θα εμφανίσει τη συμβολοσειρά My text στην οθόνη του προγράμματος περιήγησης.

μέθοδος μεγέθους γραμματοσειράς

Σύνταξη : ένα αντικείμενο.μέγεθος γραμματοσειράς( Μέγεθος) Επιχειρήματα: Μέγεθοςαριθμητική παράσταση Αποτέλεσμα: τιμή συμβολοσειράς

Μέθοδος μέγεθος γραμματοσειράςεπιστρέφει μια συμβολοσειρά που αποτελείται από μια αρχική τιμή συμβολοσειράς αντικείμενο, περικλείεται σε ετικέτες …. Δεν υπάρχει έλεγχος για να διαπιστωθεί εάν η αρχική συμβολοσειρά ήταν ήδη εγκλεισμένη σε αυτές τις ετικέτες. Αυτή η μέθοδος χρησιμοποιείται σε συνδυασμό με τις μεθόδους document.write και document.writeln για την εμφάνιση κειμένου σε καθορισμένο μέγεθος γραμματοσειράς. Για παράδειγμα, η δήλωση document.write("My text".fontsize(5)) θα εμφανίσει τη συμβολοσειρά My text στην οθόνη του προγράμματος περιήγησης.

μέθοδος fromCharCode

Σύνταξη : String.fromCharCode( κωδικός 1, κωδικός 2, …, κωδικόςN) Επιχειρήματα: κωδικός 1, κωδικός 2, …, κωδικόςNαριθμητικές εκφράσεις Αποτέλεσμα: τιμή συμβολοσειράς

Μέθοδος από το CharCodeδημιουργεί μια νέα συμβολοσειρά (αλλά όχι ένα αντικείμενο συμβολοσειράς) που είναι η συνένωση χαρακτήρων Unicode με κωδικούς κωδικός 1, κωδικός 2, …, κωδικόςN.

Αυτή είναι μια στατική μέθοδος ενός αντικειμένου Σειρά, επομένως δεν χρειάζεται να δημιουργήσετε συγκεκριμένα ένα αντικείμενο συμβολοσειράς για να αποκτήσετε πρόσβαση σε αυτό. Παράδειγμα:

Var s = String.fromCharCode(65, 66, 67); // s ισούται με "ABC"

indexOf μέθοδος

Σύνταξη : ένα αντικείμενο.indexOf( υποσυμβολοσειρά[,Αρχή]?) Επιχειρήματα: υποσυμβολοσειράοποιαδήποτε έκφραση συμβολοσειράς Αρχήοποιαδήποτε αριθμητική έκφραση Αποτέλεσμα.charCodeAt(

Μέθοδος ευρετήριοΟφεπιστρέφει την πρώτη θέση υποχορδέςσε μια πρωτόγονη τιμή συμβολοσειράς αντικείμενο. ένα αντικείμενο Αρχή Αρχή Αρχή Αρχήπερισσότερο από ένα αντικείμενο ένα αντικείμενο

Η έρευνα πραγματοποιείται από αριστερά προς τα δεξιά. Διαφορετικά, αυτή η μέθοδος είναι πανομοιότυπη με τη μέθοδο. Το ακόλουθο παράδειγμα μετράει τον αριθμό των εμφανίσεων του μοτίβου υποσυμβολοσειράς στη συμβολοσειρά str .

Συνάρτηση εμφανίζεται(str, μοτίβο) ( var pos = str.indexOf(pattern); for (var count = 0; pos != -1; count++) pos = str.indexOf(pattern, pos + pattern.length); πλήθος επιστροφής )

Μέθοδος πλάγιας γραφής

Σύνταξη : ένα αντικείμενο.πλάγια γραφή() Αποτέλεσμα: τιμή συμβολοσειράς

Μέθοδος πλάγια γραφήεπιστρέφει μια συμβολοσειρά που αποτελείται από μια αρχική τιμή συμβολοσειράς αντικείμενο, περικλείεται σε ετικέτες …. Δεν υπάρχει έλεγχος για να διαπιστωθεί εάν η αρχική συμβολοσειρά ήταν ήδη εγκλεισμένη σε αυτές τις ετικέτες. Αυτή η μέθοδος χρησιμοποιείται σε συνδυασμό με τις μεθόδους document.write και document.writeln για την εμφάνιση κειμένου με πλάγια γραμματοσειρά. Για παράδειγμα, ο τελεστής document.write("My text".italics()) θα εμφανίσει τη γραμμή Το κείμενό μου .

μέθοδος lastIndexOf

Σύνταξη : ένα αντικείμενο.lastIndexOf( υποσυμβολοσειρά[,Αρχή]?) Επιχειρήματα: υποσυμβολοσειράοποιαδήποτε έκφραση συμβολοσειράς Αρχήοποιαδήποτε αριθμητική έκφραση Αποτέλεσμα.charCodeAt(

Μέθοδος lastIndexOfεπιστρέφει την τελευταία θέση υποχορδέςστην αρχική τιμή συμβολοσειράς αντικείμενο ένα αντικείμενο. -1. ΑρχήΕάν δοθεί ένα προαιρετικό όρισμα Αρχή, τότε η έρευνα πραγματοποιείται ξεκινώντας από τη θέση Αρχή; αν όχι, τότε από τη θέση 0, δηλαδή από τον πρώτο χαρακτήρα της γραμμής. Αν Αρχήπερισσότερο από ένα αντικείμενοαρνητικό, τότε λαμβάνεται ίσο με μηδέν. Αν ένα αντικείμενο. -1, τότε λαμβάνεται ίσο

. -1.

Εάν το αντικείμενο δεν περιέχει αυτήν την υποσυμβολοσειρά, τότε επιστρέφεται η τιμή -1.

Η έρευνα πραγματοποιείται από δεξιά προς τα αριστερά. Διαφορετικά, αυτή η μέθοδος είναι πανομοιότυπη με τη μέθοδο. Παράδειγμα:

Σύνταξη : ένα αντικείμενο Var n = "White whale".lastIndexOf("whale"); // n ισούται με 6 μέθοδος σύνδεσης) Επιχειρήματα: μέθοδος σύνδεσηςοποιαδήποτε έκφραση συμβολοσειράς Αποτέλεσμα: τιμή συμβολοσειράς

Μέθοδος Σύνδεσμοςεπιστρέφει μια συμβολοσειρά που αποτελείται από μια αρχική τιμή συμβολοσειράς αντικείμενο, περικλείεται σε ετικέτες uri"> . Δεν υπάρχει έλεγχος για να διαπιστωθεί εάν η συμβολοσειρά προέλευσης ήταν ήδη εγκλεισμένη σε αυτές τις ετικέτες. Αυτή η μέθοδος χρησιμοποιείται σε συνδυασμό με τις μεθόδους document.write και document.writeln για τη δημιουργία υπερ-σύνδεσης σε ένα έγγραφο HTML με τα καθορισμένα μέθοδος σύνδεσης. Για παράδειγμα, η δήλωση document.write("My Text".link("#Bookmark")) είναι ισοδύναμη με τη δήλωση document.write("My Text") .

μέθοδος τοπικής σύγκρισης

Σύνταξη : ένα αντικείμενο.localeCompare( .concat() Επιχειρήματα: .concat(οποιαδήποτε έκφραση συμβολοσειράς Αποτέλεσμα: αριθμός

Υποστήριξη

Μέθοδος τοπικήΣύγκρισησυγκρίνει δύο συμβολοσειρές λαμβάνοντας υπόψη τις εθνικές ρυθμίσεις του λειτουργικού συστήματος. Επιστρέφει -1 εάν είναι πρωταρχική τιμή αντικείμενοπιο λιγο γραμμές 1, +1 αν είναι μεγαλύτερο γραμμές 1και 0 εάν αυτές οι τιμές είναι ίδιες.

μέθοδος αντιστοίχισης

Σύνταξη : ένα αντικείμενο.αγώνας( regvyr) Επιχειρήματα: regvyr Αποτέλεσμα: συστοιχία χορδών

Μέθοδος αγώνας regvyr αντικείμενο. Το αποτέλεσμα της αντιστοίχισης είναι μια σειρά από υποσυμβολοσειρές που βρέθηκαν ή μηδενικό, εάν δεν υπάρχουν αντιστοιχίες. Εν:

  • Αν regvyrδεν περιέχει μια επιλογή καθολικής αναζήτησης, τότε η μέθοδος εκτελείται regvyr.εκτελεστ(ένα αντικείμενο) και το αποτέλεσμά του επιστρέφεται. Ο πίνακας που προκύπτει περιέχει την υποσυμβολοσειρά που βρέθηκε στο στοιχείο με δείκτη 0 και τα υπόλοιπα στοιχεία περιέχουν υποσυμβολοσειρές που αντιστοιχούν στις υποεκφράσεις regvyr, που περικλείεται σε παρένθεση.
  • Αν regvyrπεριέχει μια επιλογή καθολικής αναζήτησης και, στη συνέχεια, τη μέθοδο regvyr.εκτελεστ(ένα αντικείμενο) εκτελείται εφόσον βρεθούν αντιστοιχίσεις. Αν n είναι ο αριθμός των αντιστοιχιών που βρέθηκαν, τότε το αποτέλεσμα είναι ένας πίνακας n στοιχείων που περιέχουν τις υποσυμβολοσειρές που βρέθηκαν. Ιδιοκτησία regvyr.lastIndexεκχωρήθηκε ένας αριθμός θέσης στη συμβολοσειρά πηγής που δείχνει τον πρώτο χαρακτήρα μετά την τελευταία αντιστοίχιση που βρέθηκε ή 0 εάν δεν βρέθηκαν αντιστοιχίες.

Θα πρέπει να θυμόμαστε ότι η μέθοδος regvyr.εκτελεσταλλάζει τις ιδιότητες του αντικειμένου regvyr. Παραδείγματα:

μέθοδος αντικατάστασης

Σύνταξη : ένα αντικείμενο.αντικαθιστώ( regvyr,γραμμή) ένα αντικείμενο.αντικαθιστώ( regvyr,λειτουργία) Επιχειρήματα: regvyrΈκφραση συμβολοσειράς κανονικής έκφρασης λειτουργίαόνομα λειτουργίας ή δήλωση συνάρτησης Αποτέλεσμα: νέα γραμμή

Μέθοδος αντικαθιστώταιριάζει με την κανονική έκφραση regvyrμε μια πρωτόγονη τιμή συμβολοσειράς αντικείμενοκαι αντικαθιστά τις υποσυμβολοσειρές που βρέθηκαν με άλλες υποσυμβολοσειρές. Το αποτέλεσμα είναι μια νέα συμβολοσειρά, η οποία είναι αντίγραφο της αρχικής συμβολοσειράς με τις αντικαταστάσεις που έγιναν. Η μέθοδος αντικατάστασης καθορίζεται από την επιλογή καθολικής αναζήτησης στο regvyrκαι το είδος του δεύτερου επιχειρήματος.

Αν regvyrδεν περιέχει μια επιλογή καθολικής αναζήτησης, τότε η αναζήτηση πραγματοποιείται για την πρώτη υποσυμβολοσειρά που ταιριάζει regvyrκαι αντικαθίσταται. Αν regvyrπεριέχει μια καθολική επιλογή αναζήτησης και, στη συνέχεια, ταιριάζουν όλες οι υποσυμβολοσειρές regvyr, και αντικαθίστανται.

γραμμή, τότε κάθε υποσυμβολοσειρά που βρέθηκε αντικαθίσταται με αυτήν. Σε αυτήν την περίπτωση, η γραμμή μπορεί να περιέχει τις ακόλουθες ιδιότητες αντικειμένου RegExp, όπως $1 , , $9 , lastMatch , lastParen , leftContext και rightContext . Για παράδειγμα, ο χειριστής document.write("Delicious apples, juicy apples.".replace(/apples/g, "pears")) θα εμφανίσει τη γραμμή Delicious pears, juicy pears στην οθόνη του προγράμματος περιήγησης.

Αν το δεύτερο επιχείρημα είναι λειτουργία, τότε κάθε υποσυμβολοσειρά που βρέθηκε αντικαθίσταται με την κλήση αυτής της συνάρτησης. Η συνάρτηση έχει τα ακόλουθα ορίσματα. Το πρώτο όρισμα είναι η υποσυμβολοσειρά που βρέθηκε, ακολουθούμενη από ορίσματα που ταιριάζουν με όλες τις υποεκφράσεις regvyr, που περικλείεται σε παρένθεση, το προτελευταίο όρισμα είναι η θέση της υποσυμβολοσειράς που βρέθηκε στη συμβολοσειρά πηγής, μετρώντας από το μηδέν, και το τελευταίο όρισμα είναι η ίδια η συμβολοσειρά πηγής. Το ακόλουθο παράδειγμα δείχνει πώς να χρησιμοποιήσετε τη μέθοδο αντικαθιστώμπορείτε να γράψετε μια συνάρτηση για τη μετατροπή Φαρενάιτ σε Κελσίου. Το δεδομένο σενάριο

Συνάρτηση myfunc($0,$1) ( return (($1-32) * 5 / 9) + "C"; ) συνάρτηση f2c(x) ( var s = String(x); return s.replace(/(\d+( \.\d*)?)F\b/, myfunc ) document.write(f2c("212F"));

θα εμφανίσει τη γραμμή 100C στην οθόνη του προγράμματος περιήγησης.

Λάβετε υπόψη ότι αυτή η μέθοδος αλλάζει τις ιδιότητες του αντικειμένου regvyr.

Αντικαταστήστε το παράδειγμα

Αντικατάσταση όλων των εμφανίσεων μιας υποσυμβολοσειράς σε μια συμβολοσειρά

Συμβαίνει συχνά να χρειάζεται να αντικαταστήσετε όλες τις εμφανίσεις μιας συμβολοσειράς με μια άλλη συμβολοσειρά:

Var str = "foobarfoobar"; str=str.replace(/foo/g,"xxx"); // το αποτέλεσμα θα είναι str = "xxxbarxxxbar";

μέθοδος αναζήτησης

Σύνταξη : ένα αντικείμενο.Αναζήτηση( regvyr) Επιχειρήματα: regvyrοποιαδήποτε κανονική έκφραση Αποτέλεσμα: αριθμητική παράσταση

Μέθοδος Αναζήτησηταιριάζει με την κανονική έκφραση regvyrμε μια πρωτόγονη τιμή συμβολοσειράς αντικείμενο. Το αποτέλεσμα του αγώνα είναι η θέση της πρώτης υποσυμβολοσειράς που βρέθηκε, μετρώντας από το μηδέν ή -1 εάν δεν υπάρχουν αντιστοιχίες. Ταυτόχρονα, η επιλογή καθολικής αναζήτησης στο regvyrαγνοείται, και ιδιότητες regvyrμην αλλάξεις.

Παραδείγματα:

Σύνταξη : ένα αντικείμενομέθοδος φέτας Αρχή [,.φέτα(]?) Επιχειρήματα: ΑρχήΚαι .φέτα(τέλος Αποτέλεσμα: νέα γραμμή

Μέθοδος οποιεσδήποτε αριθμητικές εκφράσεις αντικείμενοφέτα Αρχή, από θέση .φέτα(στη θέση .φέτα( Αρχή, χωρίς να το περιλαμβάνει. Αν

και μέχρι το τέλος της αρχικής γραμμής. ένα αντικείμενοΟι θέσεις χαρακτήρων γραμμής αριθμούνται από το μηδέν έως το Αρχή ένα αντικείμενο. +Αρχή. -1. .φέτα(Αν η τιμή ένα αντικείμενο. +.φέτα(. Αν η τιμή

αρνητικό, τότε αντικαθίσταται από

. Με άλλα λόγια, τα αρνητικά ορίσματα αντιμετωπίζονται ως μετατοπίσεις από το τέλος της συμβολοσειράς.

Σύνταξη : ένα αντικείμενοΤο αποτέλεσμα είναι μια τιμή συμβολοσειράς, όχι ένα αντικείμενο συμβολοσειράς. Για παράδειγμα, η δήλωση document.write("ABCDEF".slice(2,-1)) θα εκτυπώσει τη συμβολοσειρά CDE στην οθόνη του προγράμματος περιήγησης. Αποτέλεσμα: τιμή συμβολοσειράς

Μέθοδος μικρή μέθοδοςεπιστρέφει μια συμβολοσειρά που αποτελείται από μια αρχική τιμή συμβολοσειράς αντικείμενο, περικλείεται σε ετικέτες ….μικρό()

μικρό

Σύνταξη : ένα αντικείμενο. Δεν υπάρχει έλεγχος για να διαπιστωθεί εάν η αρχική συμβολοσειρά ήταν ήδη εγκλεισμένη σε αυτές τις ετικέτες. Αυτή η μέθοδος χρησιμοποιείται σε συνδυασμό με τις μεθόδους document.write και document.writeln για την εμφάνιση κειμένου με μικρή γραμματοσειρά. Για παράδειγμα, η δήλωση document.write("My text".small()) θα εμφανίσει τη συμβολοσειρά My text στην οθόνη του προγράμματος περιήγησης. μέθοδος διαχωρισμού [,.διαίρεση(]?) Επιχειρήματα: μέθοδος διαχωρισμούσυμβολοσειρά ή κανονική έκφραση .διαίρεση(αριθμητική παράσταση Αποτέλεσμα: πίνακας συμβολοσειρών (αντικείμενο Πίνακας)

Μέθοδος διαίρεσησπάει την πρωτόγονη αξία αντικείμενοσε μια σειρά από υποσυμβολοσειρές και την επιστρέφει. Η διαίρεση σε υποσυμβολοσειρές γίνεται ως εξής. Η συμβολοσειρά πηγής σαρώνεται από αριστερά προς τα δεξιά και αναζητείται οριοθέτης. Μόλις βρεθεί, η υποσυμβολοσειρά από το τέλος του προηγούμενου οριοθέτη (ή από την αρχή της γραμμής, αν αυτή είναι η πρώτη εμφάνιση του οριοθέτη) μέχρι την αρχή αυτού που βρέθηκε, προστίθεται στον πίνακα υποσυμβολοσειράς. Έτσι, το ίδιο το διαχωριστικό δεν εμφανίζεται στο κείμενο της υποσυμβολοσειράς.

Προαιρετικό επιχείρημα .διαίρεση(καθορίζει το μέγιστο δυνατό μέγεθος του πίνακα που προκύπτει. Εάν έχει καθοριστεί, τότε μετά την επιλογή αριθμοίΗ μέθοδος υποσυμβολοσειράς τερματίζεται ακόμα και αν η σάρωση της αρχικής συμβολοσειράς δεν έχει ολοκληρωθεί.

Οριοθέτηςμπορεί να καθοριστεί είτε ως συμβολοσειρά είτε ως τυπική έκφραση. Υπάρχουν πολλές περιπτώσεις που απαιτούν ιδιαίτερη προσοχή:

Το παρακάτω παράδειγμα χρησιμοποιεί μια τυπική έκφραση για να καθορίσει ετικέτες HTML ως οριοθέτη. Χειριστής

θα εμφανίσει τη γραμμή Κείμενο, έντονη γραφή και πλάγια γραφή στην οθόνη του προγράμματος περιήγησης.

μέθοδος απεργίας

Σύνταξη : ένα αντικείμενο.απεργία() Αποτέλεσμα: τιμή συμβολοσειράς

Μέθοδος απεργίαεπιστρέφει μια συμβολοσειρά που αποτελείται από μια αρχική τιμή συμβολοσειράς αντικείμενο, περικλείεται σε ετικέτες …. Δεν υπάρχει έλεγχος για να διαπιστωθεί εάν η αρχική συμβολοσειρά ήταν ήδη εγκλεισμένη σε αυτές τις ετικέτες. Αυτή η μέθοδος χρησιμοποιείται σε συνδυασμό με τις μεθόδους document.write και document.writeln για την εμφάνιση κειμένου σε γραμματοσειρά διαγραφής. Για παράδειγμα, η δήλωση document.write("My text".strike()) θα εμφανίσει τη συμβολοσειρά My text στην οθόνη του προγράμματος περιήγησης.

υπομέθοδος

Σύνταξη : ένα αντικείμενο.υπο() Αποτέλεσμα: τιμή συμβολοσειράς

Μέθοδος υποεπιστρέφει μια συμβολοσειρά που αποτελείται από μια αρχική τιμή συμβολοσειράς αντικείμενο, περικλείεται σε ετικέτες …. Δεν υπάρχει έλεγχος για να διαπιστωθεί εάν η αρχική συμβολοσειρά ήταν ήδη εγκλεισμένη σε αυτές τις ετικέτες. Αυτή η μέθοδος χρησιμοποιείται σε συνδυασμό με τις μεθόδους document.write και document.writeln για την εμφάνιση κειμένου ως δείκτη. Για παράδειγμα, η δήλωση document.write("My text".sub()) θα εμφανίσει τη συμβολοσειρά My text στην οθόνη του προγράμματος περιήγησης.

μέθοδος substr

Σύνταξη : ένα αντικείμενο.substr( θέση [,μήκος]?) Επιχειρήματα: θέσηΚαι μήκοςαριθμητικές εκφράσεις Αποτέλεσμα: τιμή συμβολοσειράς

Μέθοδος υποστρεπιστρέφει μια υποσυμβολοσειρά της πρωταρχικής τιμής μιας συμβολοσειράς αντικείμενοξεκινώντας από αυτό θέσειςκαι περιέχει μήκοςχαρακτήρες. Αν μήκοςδεν καθορίζεται, τότε επιστρέφεται μια υποσυμβολοσειρά ξεκινώντας από τη δεδομένη θέσειςκαι μέχρι το τέλος της αρχικής γραμμής. Αν μήκοςείναι αρνητικό ή μηδέν, επιστρέφεται μια κενή συμβολοσειρά.

και μέχρι το τέλος της αρχικής γραμμής. ένα αντικείμενο. -1. θέσηΑν ένα αντικείμενομεγαλύτερο ή ίσο με θέση., τότε επιστρέφεται μια κενή συμβολοσειρά. Αν ένα αντικείμενο.+θέση.

είναι αρνητικό, τότε ερμηνεύεται ως μετατόπιση από το τέλος της γραμμής, δηλ. αντικαθίσταται απόΣημείωση θέση. Αν

είναι αρνητικό, ο Internet Explorer το αντικαθιστά κατά λάθος με 0, επομένως για λόγους συμβατότητας δεν πρέπει να χρησιμοποιηθεί αυτή η επιλογή.

Var src = "abcdef"; var s1 = src.substr(1, 3); // "bcd" var s2 = src.substr(1); // "bcdef" var s3 = src.substr(-1); // "f", αλλά σε MSIE: "abcdef"

Σύνταξη : ένα αντικείμενομέθοδος υποσυμβολοσειράς Αρχή [,.φέτα(]) Επιχειρήματα: ΑρχήΚαι .φέτα(αριθμητικές εκφράσεις Αποτέλεσμα: τιμή συμβολοσειράς

Μέθοδος .substring(επιστρέφει μια υποσυμβολοσειρά της πρωταρχικής τιμής μιας συμβολοσειράς αντικείμενοφέτα Αρχή, από θέση .φέτα(στη θέση .φέτα(δεν καθορίζεται, τότε επιστρέφεται μια υποσυμβολοσειρά, ξεκινώντας από τη θέση Αρχή, χωρίς να το περιλαμβάνει. Αν

και μέχρι το τέλος της αρχικής γραμμής. ένα αντικείμενο. -1. . -1.Αρνητικά επιχειρήματα ή ίσα Αρχήαντικαθίστανται από μηδέν. αν το όρισμα είναι μεγαλύτερο από το μήκος της αρχικής συμβολοσειράς, τότε αντικαθίσταται με αυτό. Αν περισσότεροτέλος Αρχή, μετά αλλάζουν θέσεις. Αν ισοδυναμείτέλος

, τότε επιστρέφεται μια κενή συμβολοσειρά.

Το αποτέλεσμα είναι μια τιμή συμβολοσειράς, όχι ένα αντικείμενο συμβολοσειράς. Παραδείγματα:

Var src = "abcdef"; var s1 = src.substring(1, 3); // "bc" var s2 = src.substring(1, -1); // "a" var s3 = src.substring(-1, 1); // "ένα"

Σύνταξη : ένα αντικείμενομέθοδος sup Αποτέλεσμα: τιμή συμβολοσειράς

Μέθοδος .γουλιά()επιστρέφει μια συμβολοσειρά που αποτελείται από μια αρχική τιμή συμβολοσειράς αντικείμενο, περικλείεται σε ετικέτες …γουλιά

. Δεν υπάρχει έλεγχος για να διαπιστωθεί εάν η αρχική συμβολοσειρά ήταν ήδη εγκλεισμένη σε αυτές τις ετικέτες. Αυτή η μέθοδος χρησιμοποιείται σε συνδυασμό με τις μεθόδους document.write και document.writeln για την εμφάνιση κειμένου ως εκθέτη. Για παράδειγμα, η δήλωση document.write("My text".sup()) θα εμφανίσει τη συμβολοσειρά My text στην οθόνη του προγράμματος περιήγησης.

Σύνταξη : ένα αντικείμενο toLocale Μικρή Μέθοδος Αποτέλεσμα.toLocaleLowerCase()

Υποστήριξη: νέα γραμμή

Μέθοδος : Internet Explorer Υποστηρίζεται από την έκδοση 5.5. Netscape Navigator Δεν υποστηρίζεται.σεLocaleLowerCase

επιστρέφει μια νέα συμβολοσειρά στην οποία όλα τα γράμματα της αρχικής συμβολοσειράς αντικαθίστανται με πεζά, λαμβάνοντας υπόψη τις τοπικές ρυθμίσεις του λειτουργικού συστήματος. Οι υπόλοιποι χαρακτήρες της αρχικής συμβολοσειράς δεν αλλάζουν. Η αρχική συμβολοσειρά παραμένει η ίδια. Συνήθως αυτή η μέθοδος επιστρέφει το ίδιο αποτέλεσμα με το ; η διαφορά είναι δυνατή μόνο εάν η κωδικοποίηση γλώσσας έρχεται σε σύγκρουση με τους κανόνες Unicode για τη μετατροπή κεφαλαίων σε πεζά γράμματα.

Σύνταξη : ένα αντικείμενο toLocaleUpperCase Method Αποτέλεσμα.toLocaleLowerCase()

Υποστήριξη: νέα γραμμή

Μέθοδος .toLocaleUpperCase() toLocaleUpperCase

επιστρέφει μια νέα συμβολοσειρά στην οποία όλα τα γράμματα της αρχικής συμβολοσειράς αντικαθίστανται με κεφαλαία, λαμβάνοντας υπόψη τις τοπικές ρυθμίσεις του λειτουργικού συστήματος. Οι υπόλοιποι χαρακτήρες της αρχικής συμβολοσειράς δεν αλλάζουν. Η αρχική συμβολοσειρά παραμένει η ίδια. Συνήθως αυτή η μέθοδος επιστρέφει το ίδιο αποτέλεσμα με το ; η διαφορά είναι δυνατή μόνο εάν η κωδικοποίηση γλώσσας έρχεται σε σύγκρουση με τους κανόνες Unicode για τη μετατροπή πεζών γραμμάτων σε κεφαλαία.

Σύνταξη : ένα αντικείμενομέθοδος σε πεζά Αποτέλεσμα: νέα γραμμή

Μέθοδος .toLowerCase()σε πεζά

Οι αντικειμενοστρεφείς δυνατότητες και οι συσχετιστικοί πίνακες JavaScript ως σημασιολογικά «πλαίσια» για τη χρήση συναρτήσεων και δομών για την επεξεργασία συμβολοσειρών παρουσιάζουν ιδιαίτερο ενδιαφέρον για τον προγραμματισμό διαδικασιών επεξεργασίας πληροφοριών σύμφωνα με το σημασιολογικό τους περιεχόμενο. Στο JavaScript, οι συναρτήσεις για την εργασία με συμβολοσειρές μπορούν να συνδυαστούν στις δικές τους σημασιολογικές κατασκευές, απλοποιώντας τον κώδικα και επισημοποιώντας την περιοχή θέματος της εργασίας.

Στην κλασική έκδοση, η επεξεργασία πληροφοριών είναι κατά κύριο λόγο συναρτήσεις συμβολοσειράς. Κάθε συνάρτηση και κατασκευή της γλώσσας έχει τα δικά της χαρακτηριστικά στη σύνταξη και τη σημασιολογία της JavaScript. Οι μέθοδοι εργασίας με συμβολοσειρές εδώ έχουν το δικό τους στυλ, αλλά σε κοινή χρήση είναι απλώς σύνταξη εντός απλής σημασιολογίας: αναζήτηση, αντικατάσταση, εισαγωγή, εξαγωγή, συνέχιση, αλλαγή πεζών-κεφαλαίων...

Περιγραφή μεταβλητών συμβολοσειράς

Η κατασκευή var χρησιμοποιείται για να δηλώσει μια συμβολοσειρά. Μπορείτε να ορίσετε αμέσως την τιμή του ή να τη δημιουργήσετε κατά την εκτέλεση του αλγορίθμου. Μπορείτε να χρησιμοποιήσετε μονά ή διπλά εισαγωγικά για μια συμβολοσειρά. Εάν πρέπει να περιέχει εισαγωγικό, πρέπει να διαγραφεί με τον χαρακτήρα "".

Μια συμβολοσειρά που συμβολίζεται με διπλά εισαγωγικά απαιτεί διαφυγή από τα εσωτερικά διπλά εισαγωγικά. Ομοίως, αυτό που σημειώνεται με μονά εισαγωγικά είναι κρίσιμο για την παρουσία μεμονωμένων εισαγωγικών μέσα.

Σε αυτό το παράδειγμα, η συμβολοσειρά "str_dbl" παραθέτει χρήσιμους ειδικούς χαρακτήρες που μπορούν να χρησιμοποιηθούν στη συμβολοσειρά. Σε αυτήν την περίπτωση, ο ίδιος ο χαρακτήρας "" διαφεύγει.

Μια συμβολοσειρά είναι πάντα ένας πίνακας

Η JavaScript μπορεί να λειτουργήσει με συμβολοσειρές με διάφορους τρόπους. Η σύνταξη της γλώσσας παρέχει πολλές επιλογές. Πρώτα από όλα, δεν πρέπει ποτέ να ξεχνάμε ότι (στο πλαίσιο των περιγραφών που έγιναν):

  • str_isV => "V";
  • str_chr => "'";
  • str_dbl => "a".

Δηλαδή, οι χαρακτήρες σε μια συμβολοσειρά είναι διαθέσιμοι ως στοιχεία πίνακα, με κάθε ειδικό χαρακτήρα να είναι ένας χαρακτήρας. Η διαφυγή είναι ένα στοιχείο σύνταξης. Δεν τοποθετείται «οθόνη» στην πραγματική γραμμή.

Η χρήση της συνάρτησης charAt() έχει παρόμοιο αποτέλεσμα:

  • str_isV.charAt(3) => "V";
  • str_chr.charAt(1) => "'";
  • str_dbl.charAt(5) => "a".

Ο προγραμματιστής μπορεί να χρησιμοποιήσει οποιαδήποτε επιλογή.

Βασικές συναρτήσεις συμβολοσειράς

Η JavaScript χειρίζεται τις συμβολοσειρές λίγο διαφορετικά από άλλες γλώσσες. Το όνομα της μεταβλητής (ή η ίδια η συμβολοσειρά) ακολουθείται από το όνομα της συνάρτησης, που χωρίζεται με μια τελεία. Συνήθως, οι συναρτήσεις συμβολοσειρών ονομάζονται μέθοδοι στο στυλ της σύνταξης της γλώσσας, αλλά η πρώτη λέξη είναι πιο οικεία.

Η πιο σημαντική μέθοδος μιας συμβολοσειράς (πιο σωστά, μιας ιδιότητας) είναι το μήκος της.

  • var xStr = str_isV.length + '/' + str_chr.length + '/' + str_dbl.length.

Αποτέλεσμα: 11/12/175 σύμφωνα με τις γραμμές της παραπάνω περιγραφής.

Το πιο σημαντικό ζεύγος συναρτήσεων συμβολοσειράς είναι ο διαχωρισμός μιας συμβολοσειράς σε έναν πίνακα στοιχείων και η συγχώνευση του πίνακα σε μια συμβολοσειρά:

  • split(s [, l]);
  • συμμετάσχουν.

Στην πρώτη περίπτωση, η συμβολοσειρά χωρίζεται στον οριοθέτη χαρακτήρα «s» σε έναν πίνακα στοιχείων στον οποίο ο αριθμός των στοιχείων δεν υπερβαίνει την τιμή «l». Εάν η ποσότητα δεν έχει καθοριστεί, ολόκληρη η γραμμή είναι σπασμένη.

Στη δεύτερη περίπτωση, ο πίνακας των στοιχείων συγχωνεύεται σε μία γραμμή μέσω ενός δεδομένου οριοθέτη.

Ένα αξιοσημείωτο χαρακτηριστικό αυτού του ζεύγους: ο διαχωρισμός μπορεί να γίνει χρησιμοποιώντας έναν διαχωριστή και η συγχώνευση μπορεί να γίνει χρησιμοποιώντας έναν άλλο. Σε αυτό το πλαίσιο, η JavaScript μπορεί να λειτουργήσει με συμβολοσειρές "εκτός" της σύνταξης της γλώσσας.

Κλασικές συναρτήσεις χορδών

Κοινές λειτουργίες επεξεργασίας συμβολοσειρών:

  • Αναζήτηση;
  • δείγμα;
  • αντικατάσταση;
  • μεταμόρφωση.

Αντιπροσωπεύεται από μεθόδους: indexOf(), lastIndexOf(), substr(), substring(), toLowerCase(), toUpperCase(), concan(), charCodeAt() και άλλες.

Στο JavaScript, η εργασία με συμβολοσειρές αντιπροσωπεύεται από μια μεγάλη ποικιλία συναρτήσεων, αλλά είτε αντιγράφουν η μία την άλλη είτε αφήνονται για παλιούς αλγόριθμους και συμβατότητα.

Για παράδειγμα, η χρήση της μεθόδου concat() είναι αποδεκτή, αλλά είναι ευκολότερο να γραφτεί:

  • str = str1 + str2 + str3;

Η χρήση της συνάρτησης charAt() έχει επίσης νόημα, αλλά η χρήση της charCodeAt() έχει πραγματικό πρακτικό νόημα. Ομοίως, για την JavaScript, μια αλλαγή γραμμής έχει μια ειδική σημασία: στο πλαίσιο εμφάνισης, για παράδειγμα, σε ένα μήνυμα alert(), είναι "n" σε μια κατασκευή δημιουργίας περιεχομένου σελίδας, είναι ";
" Στην πρώτη περίπτωση είναι απλώς ένας χαρακτήρας και στη δεύτερη είναι μια σειρά χαρακτήρων.

Συμβολοσειρές και κανονικές εκφράσεις

Στο JavaScript, η εργασία με συμβολοσειρές περιλαμβάνει έναν μηχανισμό κανονικής έκφρασης. Αυτό επιτρέπει την εκτέλεση σύνθετων αναζητήσεων, ανάκτησης και μετατροπών συμβολοσειρών εντός του προγράμματος περιήγησης χωρίς επικοινωνία με τον διακομιστή.

Η μέθοδος αντιστοίχισης εύρεσης και αντικατάστασης αντικαθιστά την αντιστοιχία που βρέθηκε με την επιθυμητή τιμή. Οι τυπικές εκφράσεις υλοποιούνται σε JavaScript σε υψηλό επίπεδο, είναι εγγενώς πολύπλοκες και λόγω των ιδιαιτεροτήτων της εφαρμογής τους, μεταφέρουν το κέντρο βάρους από τον διακομιστή στο πρόγραμμα περιήγησης του πελάτη.

Όταν χρησιμοποιείτε τις μεθόδους αντιστοίχισης, αναζήτησης και αντικατάστασης, δεν πρέπει μόνο να δίνετε τη δέουσα προσοχή στη δοκιμή σε ολόκληρο το εύρος των αποδεκτών τιμών των αρχικών παραμέτρων και των συμβολοσειρών αναζήτησης, αλλά και να αξιολογείτε το φόρτο στο πρόγραμμα περιήγησης.

Παραδείγματα κανονικών εκφράσεων

Το εύρος των κανονικών εκφράσεων για την επεξεργασία συμβολοσειρών είναι εκτεταμένο, αλλά απαιτεί μεγάλη προσοχή και προσοχή από τον προγραμματιστή. Πρώτα απ 'όλα, χρησιμοποιούνται κανονικές εκφράσεις κατά τον έλεγχο των εισαγωγών χρήστη σε πεδία φόρμας.

Ακολουθούν συναρτήσεις που ελέγχουν εάν η είσοδος περιέχει έναν ακέραιο (schInt) ή έναν πραγματικό αριθμό (schReal). Το ακόλουθο παράδειγμα δείχνει πόσο αποτελεσματική είναι η επεξεργασία συμβολοσειρών ελέγχοντας τους μόνο για έγκυρους χαρακτήρες: schText - μόνο κείμενο, schMail - έγκυρη διεύθυνση email.

Είναι πολύ σημαντικό να έχετε κατά νου ότι στη JavaScript, οι χαρακτήρες και οι συμβολοσειρές απαιτούν αυξημένη προσοχή στις τοπικές ρυθμίσεις, ειδικά όταν χρειάζεται να εργαστείτε με Κυριλλικό. Σε πολλές περιπτώσεις, συνιστάται να προσδιορίσετε τους πραγματικούς κωδικούς χαρακτήρων και όχι τη σημασία τους. Αυτό ισχύει κυρίως για τα ρωσικά γράμματα.

Πρέπει να σημειωθεί ιδιαίτερα ότι δεν είναι πάντα απαραίτητο να ολοκληρώσετε την εργασία όπως έχει οριστεί. Ειδικότερα, όσον αφορά τον έλεγχο ακεραίων και πραγματικών αριθμών: μπορείτε να τα βγάλετε πέρα ​​όχι με κλασικές μεθόδους συμβολοσειρών, αλλά με συνηθισμένες συντακτικές κατασκευές.

Αντικειμενοστρεφείς συμβολοσειρές

Στο JavaScript, η εργασία με συμβολοσειρές αντιπροσωπεύεται από ένα ευρύ φάσμα συναρτήσεων. Αυτός όμως δεν είναι καλός λόγος για να τα χρησιμοποιήσετε στην αρχική τους μορφή. Η σύνταξη και η ποιότητα των λειτουργιών είναι άψογη, αλλά είναι μια λύση που ταιριάζει σε όλους.

Οποιαδήποτε χρήση συναρτήσεων συμβολοσειράς περιλαμβάνει την επεξεργασία του πραγματικού νοήματος, το οποίο καθορίζεται από τα δεδομένα, το πεδίο εφαρμογής και τον συγκεκριμένο σκοπό του αλγορίθμου.

Η ιδανική λύση είναι πάντα η ερμηνεία των δεδομένων για τη σημασία τους.

Αντιπροσωπεύοντας κάθε παράμετρο ως αντικείμενο, μπορείτε να διατυπώσετε συναρτήσεις για να εργαστείτε μαζί της. Μιλάμε πάντα για επεξεργασία συμβόλων: οι αριθμοί ή οι συμβολοσειρές είναι ακολουθίες συμβόλων οργανωμένων με συγκεκριμένο τρόπο.

Υπάρχουν γενικοί αλγόριθμοι και υπάρχουν ιδιωτικοί. Για παράδειγμα, ένα επώνυμο ή αριθμός σπιτιού είναι συμβολοσειρές, αλλά αν στην πρώτη περίπτωση επιτρέπονται μόνο τα ρωσικά γράμματα, τότε στη δεύτερη περίπτωση επιτρέπονται αριθμοί, ρωσικά γράμματα και μπορεί να υπάρχουν παύλες ή δείκτες που χωρίζονται με κάθετο. Τα ευρετήρια μπορεί να είναι αλφαβητικά ή αριθμητικά. Το σπίτι μπορεί να έχει κτίρια.

Δεν είναι πάντα δυνατό να προβλέψουμε όλες τις καταστάσεις. Αυτό είναι ένα σημαντικό σημείο στον προγραμματισμό. Είναι ένας σπάνιος αλγόριθμος που δεν απαιτεί τροποποίηση και στις περισσότερες περιπτώσεις είναι απαραίτητη η συστηματική προσαρμογή της λειτουργικότητας.

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

Ως σημασιολογικά «πλαίσια» για τη χρήση συναρτήσεων και κατασκευών για την επεξεργασία συμβολοσειρών, παρουσιάζουν ιδιαίτερο ενδιαφέρον για τον προγραμματισμό διαδικασιών επεξεργασίας πληροφοριών σύμφωνα με το σημασιολογικό τους περιεχόμενο. Στο JavaScript, οι συναρτήσεις για την εργασία με συμβολοσειρές μπορούν να συνδυαστούν στις δικές τους σημασιολογικές κατασκευές, απλοποιώντας τον κώδικα και επισημοποιώντας την περιοχή θέματος της εργασίας.

Στην κλασική έκδοση, η επεξεργασία πληροφοριών είναι κατά κύριο λόγο συναρτήσεις συμβολοσειράς. Κάθε συνάρτηση και κατασκευή της γλώσσας έχει τα δικά της χαρακτηριστικά στη σύνταξη και τη σημασιολογία της JavaScript. Οι μέθοδοι εργασίας με συμβολοσειρές εδώ έχουν το δικό τους στυλ, αλλά στην κοινή χρήση είναι απλώς σύνταξη μέσα σε απλή σημασιολογία: αναζήτηση, αντικατάσταση, εισαγωγή, εξαγωγή, συνειρμός, αλλαγή πεζών-κεφαλαίων...

Περιγραφή μεταβλητών συμβολοσειράς

Για να δηλώσετε μια συμβολοσειρά, χρησιμοποιήστε την κατασκευή var.Μπορείτε να ορίσετε αμέσως την τιμή του ή να τη δημιουργήσετε κατά την εκτέλεση του αλγορίθμου. Μπορείτε να χρησιμοποιήσετε μονά ή διπλά εισαγωγικά για μια συμβολοσειρά. Εάν πρέπει να περιέχει εισαγωγικό, πρέπει να διαφύγει με τον χαρακτήρα "\".

Η γραμμή που υποδεικνύεται απαιτεί διαφυγή από τα εσωτερικά διπλά εισαγωγικά. Ομοίως, αυτό που σημειώνεται με μονά εισαγωγικά είναι κρίσιμο για την παρουσία μεμονωμένων εισαγωγικών μέσα.

Σε αυτό το παράδειγμα, η συμβολοσειρά "str_dbl" παραθέτει χρήσιμους ειδικούς χαρακτήρες που μπορούν να χρησιμοποιηθούν στη συμβολοσειρά. Σε αυτήν την περίπτωση, ο ίδιος ο χαρακτήρας "\" έχει διαφύγει.

Μια συμβολοσειρά είναι πάντα ένας πίνακας

Η JavaScript μπορεί να λειτουργήσει με συμβολοσειρές με διάφορους τρόπους. Η σύνταξη της γλώσσας παρέχει πολλές επιλογές. Πρώτα από όλα, δεν πρέπει ποτέ να ξεχνάμε ότι (στο πλαίσιο των περιγραφών που έγιναν):

  • str_isV => "V";
  • str_chr => """;
  • str_dbl => "a".

Δηλαδή, οι χαρακτήρες σε μια συμβολοσειρά είναι διαθέσιμοι ως στοιχεία πίνακα, με κάθε ειδικό χαρακτήρα να είναι ένας χαρακτήρας. Η διαφυγή είναι ένα στοιχείο σύνταξης. Δεν τοποθετείται «οθόνη» στην πραγματική γραμμή.

Η χρήση της συνάρτησης charAt() έχει παρόμοιο αποτέλεσμα:

  • str_isV.charAt(3) => "V";
  • str_chr.charAt(1) => """;
  • str_dbl.charAt(5) => "a".

Ο προγραμματιστής μπορεί να χρησιμοποιήσει οποιαδήποτε επιλογή.

Βασικές συναρτήσεις συμβολοσειράς

Στο JavaScript γίνεται λίγο διαφορετικά από ό,τι σε άλλες γλώσσες. Το όνομα της μεταβλητής (ή η ίδια η συμβολοσειρά) ακολουθείται από το όνομα της συνάρτησης, που χωρίζεται με μια τελεία. Συνήθως, οι συναρτήσεις συμβολοσειρών ονομάζονται μέθοδοι στο στυλ της σύνταξης της γλώσσας, αλλά η πρώτη λέξη είναι πιο οικεία.

Η πιο σημαντική μέθοδος μιας συμβολοσειράς (πιο σωστά, μιας ιδιότητας) είναι το μήκος της.

  • var xStr = str_isV.length + "/" + str_chr.length + "/" + str_dbl.length.

Αποτέλεσμα: 11/12/175 σύμφωνα με τις γραμμές της παραπάνω περιγραφής.

Το πιο σημαντικό ζεύγος συναρτήσεων συμβολοσειράς είναι ο διαχωρισμός μιας συμβολοσειράς σε έναν πίνακα στοιχείων και η συγχώνευση του πίνακα σε μια συμβολοσειρά:

  • split(s [, l]);
  • συμμετάσχουν.

Στην πρώτη περίπτωση, η συμβολοσειρά χωρίζεται στον οριοθέτη χαρακτήρα «s» σε έναν πίνακα στοιχείων στον οποίο ο αριθμός των στοιχείων δεν υπερβαίνει την τιμή «l». Εάν η ποσότητα δεν έχει καθοριστεί, ολόκληρη η γραμμή είναι σπασμένη.

Στη δεύτερη περίπτωση, ο πίνακας των στοιχείων συγχωνεύεται σε μία γραμμή μέσω ενός δεδομένου οριοθέτη.

Ένα αξιοσημείωτο χαρακτηριστικό αυτού του ζεύγους: ο διαχωρισμός μπορεί να γίνει χρησιμοποιώντας έναν διαχωριστή και η συγχώνευση μπορεί να γίνει χρησιμοποιώντας έναν άλλο. Σε αυτό το πλαίσιο, η JavaScript μπορεί να λειτουργήσει με συμβολοσειρές "εκτός" της σύνταξης της γλώσσας.

Κλασικές συναρτήσεις χορδών

Κοινές λειτουργίες επεξεργασίας συμβολοσειρών:

  • Αναζήτηση;
  • δείγμα;
  • αντικατάσταση;
  • μεταμόρφωση.

Αντιπροσωπεύεται από μεθόδους: indexOf(), lastIndexOf(), toLowerCase(), toUpperCase(), concan(), charCodeAt() και άλλες.

Στο JavaScript, η εργασία με συμβολοσειρές αντιπροσωπεύεται από μια μεγάλη ποικιλία συναρτήσεων, αλλά είτε αντιγράφουν η μία την άλλη είτε αφήνονται για παλιούς αλγόριθμους και συμβατότητα.

Για παράδειγμα, η χρήση της μεθόδου concat() είναι αποδεκτή, αλλά είναι ευκολότερο να γραφτεί:

  • str = str1 + str2 + str3;

Η χρήση της συνάρτησης charAt() έχει επίσης νόημα, αλλά η χρήση της charCodeAt() έχει πραγματικό πρακτικό νόημα. Ομοίως, για τη JavaScript, μια αλλαγή γραμμής έχει μια ειδική σημασία: στο πλαίσιο της εμφάνισης, για παράδειγμα, σε ένα μήνυμα alert(), είναι "\n", σε μια κατασκευή δημιουργίας περιεχομένου σελίδας είναι "
" Στην πρώτη περίπτωση είναι απλώς ένας χαρακτήρας και στη δεύτερη είναι μια σειρά χαρακτήρων.

Συμβολοσειρές και κανονικές εκφράσεις

Στο JavaScript, η εργασία με συμβολοσειρές περιλαμβάνει έναν μηχανισμό κανονικής έκφρασης. Αυτό επιτρέπει την εκτέλεση σύνθετων αναζητήσεων, ανάκτησης και μετατροπών συμβολοσειρών εντός του προγράμματος περιήγησης χωρίς επικοινωνία με τον διακομιστή.

Μέθοδος αγώναςβρίσκει, και αντικαθιστώαντικαθιστά την αντιστοιχία που βρέθηκε με την επιθυμητή τιμή. Οι τυπικές εκφράσεις υλοποιούνται σε JavaScript σε υψηλό επίπεδο, είναι εγγενώς πολύπλοκες και λόγω των ιδιαιτεροτήτων της εφαρμογής τους, μεταφέρουν το κέντρο βάρους από τον διακομιστή στο πρόγραμμα περιήγησης του πελάτη.

Κατά την εφαρμογή μεθόδων ταίριασμα, αναζήτησηΚαι αντικαθιστώΘα πρέπει όχι μόνο να δώσετε τη δέουσα προσοχή στη δοκιμή σε όλο το εύρος των αποδεκτών τιμών των αρχικών παραμέτρων και των συμβολοσειρών αναζήτησης, αλλά και να αξιολογήσετε το φορτίο στο πρόγραμμα περιήγησης.

Παραδείγματα κανονικών εκφράσεων

Το εύρος των κανονικών εκφράσεων για την επεξεργασία συμβολοσειρών είναι εκτεταμένο, αλλά απαιτεί μεγάλη προσοχή και προσοχή από τον προγραμματιστή. Πρώτα απ 'όλα, χρησιμοποιούνται κανονικές εκφράσεις κατά τον έλεγχο των εισαγωγών χρήστη σε πεδία φόρμας.

Ακολουθούν συναρτήσεις που ελέγχουν εάν η είσοδος περιέχει έναν ακέραιο (schInt) ή έναν πραγματικό αριθμό (schReal). Το ακόλουθο παράδειγμα δείχνει πόσο αποτελεσματική είναι η επεξεργασία συμβολοσειρών ελέγχοντας τους μόνο για έγκυρους χαρακτήρες: schText - μόνο κείμενο, schMail - έγκυρη διεύθυνση email.

Είναι πολύ σημαντικό να έχετε κατά νου ότι στη JavaScript, οι χαρακτήρες και οι συμβολοσειρές απαιτούν αυξημένη προσοχή στις τοπικές ρυθμίσεις, ειδικά όταν χρειάζεται να εργαστείτε με Κυριλλικό. Σε πολλές περιπτώσεις, συνιστάται να προσδιορίσετε τους πραγματικούς κωδικούς χαρακτήρων και όχι τη σημασία τους. Αυτό ισχύει κυρίως για τα ρωσικά γράμματα.

Πρέπει να σημειωθεί ιδιαίτερα ότι δεν είναι πάντα απαραίτητο να ολοκληρώσετε την εργασία όπως έχει οριστεί. Ειδικότερα, όσον αφορά τον έλεγχο ακεραίων και πραγματικών αριθμών: μπορείτε να τα βγάλετε πέρα ​​όχι με κλασικές μεθόδους συμβολοσειρών, αλλά με συνηθισμένες συντακτικές κατασκευές.

Αντικειμενοστρεφείς συμβολοσειρές

Στο JavaScript, η εργασία με συμβολοσειρές αντιπροσωπεύεται από ένα ευρύ φάσμα συναρτήσεων. Αυτός όμως δεν είναι καλός λόγος για να τα χρησιμοποιήσετε στην αρχική τους μορφή. Η σύνταξη και η ποιότητα των λειτουργιών είναι άψογη, αλλά είναι μια λύση που ταιριάζει σε όλους.

Οποιαδήποτε χρήση συναρτήσεων συμβολοσειράς περιλαμβάνει την επεξεργασία του πραγματικού νοήματος, το οποίο καθορίζεται από τα δεδομένα, το πεδίο εφαρμογής και τον συγκεκριμένο σκοπό του αλγορίθμου.

Η ιδανική λύση είναι πάντα η ερμηνεία των δεδομένων για τη σημασία τους.

Αντιπροσωπεύοντας κάθε παράμετρο ως αντικείμενο, μπορείτε να διατυπώσετε συναρτήσεις για να εργαστείτε μαζί της. Μιλάμε πάντα για επεξεργασία συμβόλων: οι αριθμοί ή οι συμβολοσειρές είναι ακολουθίες συμβόλων οργανωμένων με συγκεκριμένο τρόπο.

Υπάρχουν γενικοί αλγόριθμοι και υπάρχουν ιδιωτικοί. Για παράδειγμα, ένα επώνυμο ή αριθμός σπιτιού είναι συμβολοσειρές, αλλά αν στην πρώτη περίπτωση επιτρέπονται μόνο τα ρωσικά γράμματα, τότε στη δεύτερη περίπτωση επιτρέπονται αριθμοί, ρωσικά γράμματα και μπορεί να υπάρχουν παύλες ή δείκτες που χωρίζονται με κάθετο. Τα ευρετήρια μπορεί να είναι αλφαβητικά ή αριθμητικά. Το σπίτι μπορεί να έχει κτίρια.

Δεν είναι πάντα δυνατό να προβλέψουμε όλες τις καταστάσεις. Αυτό είναι ένα σημαντικό σημείο στον προγραμματισμό. Είναι ένας σπάνιος αλγόριθμος που δεν απαιτεί τροποποίηση και στις περισσότερες περιπτώσεις είναι απαραίτητη η συστηματική προσαρμογή της λειτουργικότητας.

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

Από τον συγγραφέα:Χαιρετισμούς, φίλοι. Σε αρκετά προηγούμενα άρθρα, γνωρίσαμε τον τύπο αριθμητικών δεδομένων στο JavaScript και δουλέψαμε με αριθμούς. Τώρα ήρθε η ώρα να δουλέψετε με συμβολοσειρές σε JavaScript. Ας ρίξουμε μια πιο προσεκτική ματιά στον τύπο δεδομένων συμβολοσειράς στο JavaScript.

Ήδη εν συντομία εξοικειωθήκαμε με τον τύπο χορδής και, μάλιστα, μάθαμε μόνο τι είναι και πώς γράφεται η χορδή. Ας ρίξουμε τώρα μια πιο προσεκτική ματιά στις χορδές και τις μεθόδους εργασίας με αυτές.

Όπως θυμάστε, οποιοδήποτε κείμενο στο JavaScript είναι μια συμβολοσειρά. Η συμβολοσειρά πρέπει να περικλείεται σε εισαγωγικά, μονή ή διπλή, δεν έχει καμία διαφορά:

var hi = "γεια", όνομα = "John";

var hi = "γεια" ,

όνομα = "Γιάννης" ;

Τώρα έχουμε γράψει μόνο μία λέξη στις μεταβλητές. Τι γίνεται όμως αν θέλουμε να καταγράψουμε μεγάλη ποσότητα κειμένου; Ναι, κανένα πρόβλημα, ας γράψουμε λίγο κείμενο ψαριού σε μια μεταβλητή και ας το εξάγουμε στην κονσόλα:

var text = "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nobis dignissimos maxime et tempore omnis, ab fugit. Quos nisi, culpa exercitationem!"; console.log(text);

var text = "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nobis dignissimos maxime et tempore omnis, ab fugit. Quos nisi, culpa exercitationem!";

κονσόλα. log(κείμενο);

Εργα. Αλλά αν υπάρχει πολύ κείμενο, πιθανότατα θα έχουμε αλλαγές γραμμής για να ξεκινήσουμε μια νέα παράγραφο σε μια νέα γραμμή. Ας προσπαθήσουμε να προσθέσουμε μια αλλαγή γραμμής όπως αυτή στο κείμενό μας:

Όπως μπορείτε να δείτε, ο επεξεργαστής κειμένου μου έχει ήδη επισημάνει το πιθανό πρόβλημα με κόκκινο χρώμα. Ας δούμε πώς αντιδρά το πρόγραμμα περιήγησης σε μια αλλαγή γραμμής σε αυτήν την ερμηνεία:

Σφάλμα σύνταξης, όπως θα περίμενε κανείς. Πώς να είσαι; Υπάρχουν διάφοροι τρόποι αποθήκευσης κειμένου πολλών γραμμών σε μια μεταβλητή. Ίσως έχετε ήδη μαντέψει για ένα από αυτά, μιλάμε για συνένωση χορδών:

Όπως μπορείτε να δείτε, ο επεξεργαστής αντιδρά ήδη κανονικά σε αυτήν την επιλογή εγγραφής μιας συμβολοσειράς σε μια μεταβλητή. Μια άλλη επιλογή είναι να χρησιμοποιήσετε την ανάστροφη κάθετο (\), η οποία στη JavaScript και σε πολλές άλλες γλώσσες προγραμματισμού είναι ένας χαρακτήρας διαφυγής που σας επιτρέπει να εργάζεστε με ασφάλεια με ειδικούς χαρακτήρες. Θα μάθουμε ποιοι είναι οι ειδικοί χαρακτήρες περαιτέρω. Λοιπόν, ας προσπαθήσουμε να ξεφύγουμε από τον αόρατο χαρακτήρα νέας γραμμής:

Η θωράκιση έλυσε και το πρόβλημά μας. Ωστόσο, αν κοιτάξουμε την κονσόλα, τόσο η συνένωση συμβολοσειρών όσο και η διαφυγή τροφοδοσίας γραμμής, ενώ έλυσαν το πρόβλημα της εγγραφής στο πρόγραμμα, δεν έλυσαν το πρόβλημα της εμφάνισης μιας συμβολοσειράς πολλαπλών γραμμών στην οθόνη. Αντί για μια γραμμή πολλών γραμμών, θα δούμε κείμενο μιας γραμμής στην κονσόλα. Τι πρέπει να κάνω;

Και εδώ ο ειδικός χαρακτήρας νέας γραμμής θα μας βοηθήσει - \n. Προσθέτοντας αυτόν τον ειδικό χαρακτήρα στη γραμμή στη σωστή θέση, θα πούμε στον διερμηνέα ότι σε αυτό το μέρος είναι απαραίτητο να τερματιστεί η τρέχουσα γραμμή και να γίνει μετάβαση σε μια νέα γραμμή.

var text = "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nobis dignissimos maxime et tempore omnis, ab fugit.\ \nQuos nisi, culpa exercitationem!"; console.log(text);

var text = "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nobis dignissimos maxime et tempore omnis, ab fugit.\

"Πώς να μην υπάρχει, culpa exercitationem!";

κονσόλα. log(κείμενο);

Στην πραγματικότητα, αν δεν σας πειράζει να γράψετε το κείμενο στον κώδικα σε μία γραμμή, τότε μπορούμε να το κάνουμε ως εξής:

var text = "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nobis dignissimos maxime et tempore omnis, ab fugit.\nQuos nisi, culpa exercitationem!"; console.log(text);

var text = "Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nobis dignissimos maxime et tempore omnis, ab fugit.\nQuos nisi, culpa exercitationem!";

κονσόλα. log(κείμενο);

Το αποτέλεσμα στην οθόνη δεν θα αλλάξει, θα δούμε κείμενο πολλών γραμμών στην κονσόλα του προγράμματος περιήγησης:

Δεν χρειαζόμαστε πραγματικά τον χαρακτήρα διαφυγής ανάστροφης κάθετο στον κώδικα σε αυτήν την κατάσταση. Αλλά είναι πραγματικά απαραίτητο, όπως σημειώθηκε παραπάνω, για τη διαφυγή ειδικών χαρακτήρων. Για παράδειγμα, μέσα σε μια συμβολοσειρά που περικλείσαμε σε μονά εισαγωγικά, υπάρχει μια απόστροφη, δηλ. ενιαίο απόσπασμα:

var text = "Lorem ipsum d"olor sit amet";