Η μέθοδος συμβολοσειράς αντικειμένου indexOf(), σας δίνει την δυνατότητα να αναζητήσετε το πρώτο στιγμιότυπο μιας συγκεκριμένης τιμής ενός χαρακτήρα μέσα σε μια συμβολοσειρά. Επίσης, μπορείτε να προβείτε και στην αναζήτηση ενός μετατοπισμένου χαρακτήρα. Αντίστοιχα, η μέθοδος lastIndexOf() σας επιτρέπει να κάνετε ακριβώς τα ίδια πράγματα, ξεκινώντας από το τέλος μιας συμβολοσειράς.
String stringOne = "";
int firstClosingBracket = stringOne.indexOf('>');
Σε αυτήν την περίπτωση, το firstClosingBracket θα ισούται με τον αριθμό 5. Αυτό συμβαίνει διότι ο πρώτος χαρακτήρας > βρίσκεται στην πέμπτη θέση της συγκεκριμένης συμβολοσειράς. Ως γνωστόν, η αρίθμηση ξεκινάει από την μηδενική τιμή. Σε περίπτωση που θέλετε να γνωρίζετε την τιμή του αγκίστρου κλεισίματος, τότε θα πρέπει να ξέρετε την ακριβής θέση του αρχικού αγκίστρου. Στην συνέχεια, μπορείτε να προβείτε σε οποιαδήποτε αναζήτηση μετατόπισης μέσω της εντολής firstClosingBracket + 1. Αυτό μπορεί να υλοποιηθεί ως εξής:
stringOne = "";
int secondClosingBracket = stringOne.indexOf('>', firstClosingBracket + 1 );
Όπως είναι αντιληπτό, το αποτέλεσμα θα είναι ο αριθμός 11, δηλαδή η θέση του αγκίστρου κλεισίματος της ετικέτας HEAD.
Εάν επιθυμείτε να ξεκινήσετε την αναζήτηση από το τέλος μιας συμβολοσειράς, τότε μπορείτε να χρησιμοποιήσετε την μέθοδο lastIndexOf(). Συγκεκριμένα, αυτή η συνάρτηση θα επιστρέψει την τελευταία θέση όπου εμφανίστηκε ενός συγκεκριμένος χαρακτήρας.
stringOne = "";
int lastOpeningBracket = stringOne.lastIndexOf('<');
Σε αυτήν την περίπτωση, το lastOpeningBracket θα ισούται με τον αριθμό 12. Ουσιαστικά, πρόκειται για την θέση του χαρακτήρα < της ετικέτας BODY. Σε περίπτωση που θέλετε να γνωρίζετε την τιμή του αγκίστρου ανοίγματος της συγκεκριμένης ετικέτας, τότε θα πρέπει να χρησιμοποιήσετε την παρακάτω εντολή:
stringOne.lastIndexOf('<', lastOpeningBracket -1)
Ο εναλλακτικός τρόπος είναι να γνωρίζετε την ακριβής τιμή. Στην προκειμένη περίπτωση είναι ο αριθμός 6.
Απαιτούμενος εξοπλισμός
– Πλακέτα του Arduino ή του Genuino.
Κύκλωμα
Δεν υπάρχει κάποιο συγκεκριμένο κύκλωμα για αυτό το παράδειγμα. Ωστόσο, η πλακέτα σας θα πρέπει να είναι συνδεδεμένη με τον υπολογιστή σας μέσω της USB θύρας. Επίσης, θα πρέπει να είναι ενεργοποιημένο και το παράθυρο της σειριακής οθόνης του λογισμικού του Arduino (IDE).

Κώδικας
/*
String indexOf() and lastIndexOf() functions
Examples of how to evaluate, look for, and replace characters in a String
created 27 July 2010
modified 2 Apr 2012
by Tom Igoe
http://www.arduino.cc/en/Tutorial/StringIndexOf
This example code is in the public domain.
*/
void setup() {
// Open serial communications and wait for port to open:
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}
// send an intro:
Serial.println("\n\nString indexOf() and lastIndexOf() functions:");
Serial.println();
}
void loop() {
// indexOf() returns the position (i.e. index) of a particular character
// in a string. For example, if you were parsing HTML tags, you could use it:
String stringOne = "";
int firstClosingBracket = stringOne.indexOf('>');
Serial.println("The index of > in the string " + stringOne + " is " + firstClosingBracket);
stringOne = "";
int secondOpeningBracket = firstClosingBracket + 1;
int secondClosingBracket = stringOne.indexOf('>', secondOpeningBracket);
Serial.println("The index of the second > in the string " + stringOne + " is " + secondClosingBracket);
// you can also use indexOf() to search for Strings:
stringOne = "";
int bodyTag = stringOne.indexOf("");
Serial.println("The index of the body tag in the string " + stringOne + " is " + bodyTag);
stringOne = "- item
- item
- item
Lorem ipsum dolor sit amet
Ipsem
Quod
"; int lastParagraph = stringOne.lastIndexOf("
Επιστροφή στην σελίδα Παραπομπές Γλώσσας
