java substring method tutorial with examples
Αυτό το σεμινάριο θα καλύψει τη μέθοδο substring Java. Θα ρίξουμε μια ματιά στα παραδείγματα σύνθεσης, σύντομης εισαγωγής και υποστρώματος Java:
Θα καλύψουμε επίσης τα σημαντικά παραδείγματα που βασίζονται σε σενάριο, καθώς και τις συχνές ερωτήσεις που θα σας βοηθήσουν να κατανοήσετε καλύτερα αυτήν τη μέθοδο.
Με τη μετάβαση σε αυτό το πρόγραμμα εκμάθησης Java, θα είστε σε θέση να δημιουργήσετε τα δικά σας προγράμματα για την εξαγωγή οποιουδήποτε υποστρώματος από την κύρια συμβολοσειρά και να εκτελέσετε περαιτέρω οποιαδήποτε λειτουργία σε αυτό.
=> Ρίξτε μια ματιά στον οδηγό για αρχάριους Java εδώ.
Τι θα μάθετε:
Υποστρώματα Java ()
Όπως όλοι γνωρίζουμε, το substring Java δεν είναι παρά ένα μέρος της κύριας συμβολοσειράς.
Για παράδειγμα ,Σε μια συμβολοσειρά 'Δοκιμή λογισμικού', τα 'Λογισμικό' και 'Δοκιμή' είναι τα υποστρώματα.
Αυτή η μέθοδος χρησιμοποιείται για την επιστροφή ή εξαγωγή του υποστρώματος από την κύρια συμβολοσειρά. Τώρα, για την εξαγωγή από την κύρια συμβολοσειρά, πρέπει να καθορίσουμε τον αρχικό δείκτη και τον τελικό δείκτη στη μέθοδο substring ().
Αυτή η μέθοδος έχει δύο διαφορετικές μορφές. Η σύνταξη καθεμιάς από αυτές τις φόρμες δίνεται παρακάτω.
Σύνταξη:
String substring(int startingIndex); String substring(int startingIndex, int endingIndex);
Στην επόμενη ενότητα, θα εξετάσουμε προσεκτικά κάθε μία από αυτές τις φόρμες.
Έναρξη ευρετηρίου
Σε αυτήν την ενότητα, θα συζητήσουμε την πρώτη μορφή της μεθόδου Java substring (). Η πρώτη φόρμα επιστρέφει το υπόστρωμα που ξεκινά από το δεδομένο ευρετήριο και στη συνέχεια τρέχει σε ολόκληρη τη συμβολοσειρά. Έτσι, ό, τι αναφέρετε στο αρχικό ευρετήριο, θα επιστρέψει ολόκληρη τη συμβολοσειρά από το συγκεκριμένο ευρετήριο.
Παρακάτω δίνεται το πρόγραμμα στο οποίο έχουμε αποδείξει την εξαγωγή χρησιμοποιώντας την πρώτη μορφή μεθόδου υποστρώματος (). Έχουμε λάβει μια συμβολοσειρά εισόδου 'Βοήθεια δοκιμής λογισμικού' και στη συνέχεια εξαγάγαμε το υπόστρωμα από το ευρετήριο 9.
Έτσι, η έξοδος θα είναι «Δοκιμή Βοήθειας».
Σημείωση: Το ευρετήριο Java String ξεκινά πάντα με μηδέν.
public class substring { public static void main(String[] args) { String str = 'Software testing help'; /* * It will start from 9th index and extract * the substring till the last index */ System.out.println('The original String is: ' +str); System.out.println('The substring is: ' +str.substring(9)); } }
Παραγωγή:
Δείκτης έναρξης και λήξης
Σε αυτήν την ενότητα, θα μιλήσουμε για τη δεύτερη μορφή της μεθόδου. Εδώ, πρόκειται να πάρουμε μια συμβολοσειρά εισόδου 'Java String substring method' και θα προσπαθήσουμε να εξαγάγουμε το substring χρησιμοποιώντας τη δεύτερη φόρμα που καθορίζει τόσο τους αρχικούς όσο και τους τελικούς δείκτες.
public class substring { public static void main(String[] args) { String str = 'Java String substring method'; /* * It will start from 12th index and extract * the substring till the 21st index */ System.out.println('The original String is: ' +str); System.out.println('The substring is: ' +str.substring(12,21)); } }
Παραγωγή:
Ερωτήσεις συνέντευξης προγραμματιστή salesforce για έμπειρους
Παραδείγματα υποστρώματος Java
Σενάριο 1: Ποια θα είναι η έξοδος της μεθόδου substring όταν το καθορισμένο ευρετήριο δεν υπάρχει στην κύρια συμβολοσειρά;
Εξήγηση: Σε αυτό το σενάριο, πρόκειται να λάβουμε μια συμβολοσειρά εισόδου 'Java Programming' και θα προσπαθήσουμε να καθορίσουμε το ευρετήριο ως 255 και 350 για τους δείκτες έναρξης και λήξης αντίστοιχα.
Όπως γνωρίζουμε, εάν το String δεν έχει αριθμό ευρετηρίου 255, τότε πρέπει να ρίξει ένα σφάλμα. Από τους προκαθορισμένους κανόνες της Java για την εξαίρεση, θα πρέπει να ρίξει την εξαίρεση «ευρετήριο εκτός εύρους». Αυτό συμβαίνει επειδή το ευρετήριο που καθορίσαμε στη μέθοδο είναι εκτός εύρους για τη δεδομένη συμβολοσειρά.
public class substring { public static void main(String[] args) { String str = 'Java Programming'; /* * It will throw an error after printing the original String. * The index we have specified is out of range for the * main String. Hence, it will throw 'String index of range' * exception */ System.out.println('The original String is: ' +str); System.out.println('The substring is: ' +str.substring(255,350)); } }
Παραγωγή:
Σενάριο 2: Ποια θα είναι η έξοδος αυτής της μεθόδου όταν παρέχουμε αρνητική τιμή δείκτη;
Εξήγηση: Εδώ, πρόκειται να λάβουμε μια συμβολοσειρά εισόδου 'Java substring Tutorials' και θα προσπαθήσουμε να παρέχουμε αρνητικούς δείκτες έναρξης και λήξης και να ελέγξουμε πώς ανταποκρίνεται το πρόγραμμα.
Καθώς το ευρετήριο Java String ξεκινά από το μηδέν, δεν πρέπει να δέχεται αρνητικούς ακέραιους αριθμούς στο ευρετήριο. Άρα το πρόγραμμα πρέπει να κάνει μια εξαίρεση.
Ο τύπος σφάλματος θα πρέπει και πάλι να είναι η εξαίρεση 'Ευρετήριο συμβολοσειράς εκτός εμβέλειας' επειδή το καθορισμένο ευρετήριο δεν υπάρχει στην κύρια συμβολοσειρά.
public class substring { public static void main(String[] args) { String str = 'Java substring Tutorials'; /* * It will throw an error after printing the original String. * The index we have specified is out of range for the * main String because the String index starts from zero. * It does not accept any negative index value. * Hence, it will throw 'String index of range' exception */ System.out.println('The original String is: ' +str); System.out.println('The substring is: ' +str.substring(-5,-10)); } }
Παραγωγή:
Σενάριο 3: Ποια θα είναι η έξοδος του substring όταν παρέχουμε (0,0) στους δείκτες έναρξης και λήξης;
Εξήγηση: Αυτό είναι ένα ακόμη πολύ καλό σενάριο για να κατανοήσετε τη μέθοδο Java String substring (). Εδώ, θα πάρουμε μια συμβολοσειρά εισόδου 'Saket Saurav' και θα προσπαθήσουμε να πάρουμε το substring ξεκινώντας από το μηδενικό ευρετήριο και τελειώνοντας στο μηδενικό ευρετήριο.
Θα είναι ενδιαφέρον να δούμε πώς ανταποκρίνεται το πρόγραμμα.
Δεδομένου ότι έχουμε τα ευρετήρια έναρξης και λήξης ως ίδια, θα πρέπει να επιστρέψει ένα κενό. Ωστόσο, το πρόγραμμα μεταγλωττίζεται με επιτυχία σε αυτό το σενάριο.
Θα επιστρέψει κενό για όλες αυτές τις τιμές όπου τα ευρετήρια έναρξης και λήξης είναι τα ίδια. Είτε (0,0) ή (1,1) ή (2,2) και ούτω καθεξής.
public class substring { public static void main(String[] args) { String str = 'Saket Saurav'; /* * The output will be blank because of the starting and ending * indexes can not be the same. In such scenarios, the * program will return a blank value. The same is applicable * when you are giving the input index as (0,0) or (1,1) or (2,2). * and so on. */ System.out.println('The original String is: ' +str); System.out.println('The substring is: ' +str.substring(0,0)); } }
Παραγωγή:
Συχνές Ερωτήσεις
Q # 1) Πώς να διαιρέσετε ένα String σε substrings στην Java; Πώς να δημιουργήσετε ξανά την ίδια συμβολοσειρά από τα υποστρώματα;
Απάντηση: Ακολουθεί το πρόγραμμα όπου έχουμε λάβει μια συμβολοσειρά εισόδου και χωρίσαμε τη συμβολοσειρά σε υποστρώματα καθορίζοντας τους δείκτες έναρξης και λήξης.
Και πάλι έχουμε δημιουργήσει το ίδιο String χρησιμοποιώντας τα substrings με τη βοήθεια του χειριστή String concat.
public class substring { public static void main(String[] args) { String str = 'Saket Saurav'; // created two substrings substr1 and substr2 String substr1 = str.substring(0,6); String substr2 = str.substring(6,12); //Printed main String as initialized System.out.println(str); //Printed substr1 System.out.println(substr1); //Printed substr2 System.out.println(substr2); //Printed main String from two substrings System.out.println(substr1 +substr2 ); } }
Παραγωγή:
Ε # 2) Πώς να βρείτε εάν ένα String είναι ένα υπόστρωμα άλλου στην Java;
Απάντηση: Ακολουθεί το πρόγραμμα όπου έχουμε λάβει μια συμβολοσειρά εισόδου 'Παράδειγμα υποστρώματος'. Στη συνέχεια, έχουμε πάρει ένα substring και αποθηκεύσαμε σε μια μεταβλητή String 'substr'. Στη συνέχεια, χρησιμοποιήσαμε τη μέθοδο Java περιέχει () για να ελέγξουμε αν το String είναι μέρος της κύριας συμβολοσειράς ή όχι.
public class substring { public static void main(String[] args) { String str = 'Example of the substring'; // created a substring substr String substr = str.substring(8,10); //Printed substring System.out.println(substr); /* * used .contains() method to check the substring (substr) is a * part of the main String (str) or not */ if(str.contains(substr)) { System.out.println('String is a part of the main String'); } else { System.out.println('String is not a part of the main String'); } } }
Παραγωγή:
Q # 3) Ποια είναι η μέθοδος επιστροφής τύπου substring () στην Java;
δεν μπορώ να συνδεθώ στην προεπιλεγμένη πύλη
Απάντηση: Όπως γνωρίζουμε, η κλάση String είναι αμετάβλητη και η μέθοδος substring () είναι μια ενσωματωμένη μέθοδος της κλάσης String. Κάθε φορά που εκτελείτε μια λειτουργία στο String, το επόμενο String είναι ένα νέο String που επιστρέφεται.
Το ίδιο συμβαίνει και με αυτήν τη μέθοδο. Κάθε φορά που καλούμε τη μέθοδο substring (), το String που προκύπτει είναι ένα νέο String. Ως εκ τούτου, ο τύπος επιστροφής αυτής της μεθόδου στην Java είναι μια συμβολοσειρά.
Q # 4) Είναι ασφαλές το νήμα String στην Java;
Απάντηση: Ναί. Ακριβώς όπως το StringBuffer, το String είναι επίσης ασφαλές στο νήμα στην Java. Αυτό σημαίνει ότι το String μπορεί να χρησιμοποιηθεί μόνο από ένα νήμα σε μια δεδομένη χρονική στιγμή και δεν επιτρέπει δύο νήματα να χρησιμοποιούν ένα String ταυτόχρονα.
Q # 5) Ποια είναι η διαφορά μεταξύ δύο διαφορετικών προσεγγίσεων για την προετοιμασία ενός String;
String str1 = 'ABC';
String str2 = new String ('ABC');
Απάντηση: Και οι δύο γραμμές κωδικών θα σας δώσουν το αντικείμενο String. Τώρα μπορούμε να απαριθμήσουμε τις διαφορές.
Η πρώτη γραμμή κώδικα θα επιστρέψει ένα υπάρχον αντικείμενο από την ομάδα συμβολοσειράς, ενώ η δεύτερη γραμμή κώδικα όπου η συμβολοσειρά δημιουργείται με τη βοήθεια ενός «νέου» χειριστή, θα επιστρέφει πάντα ένα νέο αντικείμενο που δημιουργείται στη μνήμη σωρού.
Αν και η τιμή 'ABC' είναι 'ίση' και στις δύο γραμμές, δεν είναι '=='.
Ας ακολουθήσουμε το ακόλουθο πρόγραμμα.
Εδώ έχουμε αρχικοποιήσει τρεις μεταβλητές String. Η πρώτη σύγκριση γίνεται με βάση τη '==' σύγκριση αναφοράς για str1 και str2 που επιστρέφει true. Αυτό συμβαίνει επειδή έχουν χρησιμοποιήσει το ίδιο υπάρχον αντικείμενο από το String pool.
Η δεύτερη σύγκριση έγινε σε str1 και str3 χρησιμοποιώντας το '==' όπου η σύγκριση αναφοράς διαφέρει επειδή το αντικείμενο String ήταν ως μέρος του str3 που δημιουργήθηκε πρόσφατα με τη βοήθεια ενός 'νέου' χειριστή. Ως εκ τούτου, επέστρεψε ψευδής.
Η τρίτη σύγκριση έγινε με τη βοήθεια της μεθόδου '.equals ()' που συνέκρινε τις τιμές που περιέχονται στα str1 και str3 Η τιμή και των δύο μεταβλητών String είναι η ίδια, δηλαδή είναι ίσες. Ως εκ τούτου, επέστρεψε αλήθεια.
public class substring { public static void main(String[] args) { String str1 = 'ABC'; String str2 = 'ABC'; /* * True because '==' works on the reference comparison and * str1 and str2 have used the same existing object from * the String pool */ System.out.println(str1 == str2); String str3 = new String ('ABC'); /* * False because str1 and str3 have not the same reference * type */ System.out.println(str1==str3); /* * True because '.equals' works on comparing the value contained * by the str1 and str3. */ System.out.println(str1.equals(str3)); } }
Παραγωγή:
συμπέρασμα
Σε αυτό το σεμινάριο, έχουμε συζητήσει τις διάφορες μορφές μεθόδου substring (). Επίσης, έχουμε συμπεριλάβει πολλές ερωτήσεις που βασίζονται σε σενάριο μαζί με τις συνήθεις ερωτήσεις που σας βοήθησαν να κατανοήσετε λεπτομερώς τη μέθοδο.
Περαιτέρω ανάγνωση = >> Λειτουργία υποστρώματος MySQL
Εδώ περιλαμβάνονται σύνταξη, παραδείγματα προγραμματισμού και λεπτομερής ανάλυση για κάθε σενάριο και ιδέα. Αυτό σίγουρα θα σας βοηθήσει να αναπτύξετε τα δικά σας προγράμματα μεθόδου substring () και να εκτελέσετε διαφορετικές λειτουργίες χειρισμού String σε κάθε επόμενη String.
=> Διαβάστε ολόκληρη τη σειρά Easy Java Training.
Συνιστώμενη ανάγνωση
- Εκμάθηση συμβολοσειράς Java | Μέθοδοι συμβολοσειράς Java με παραδείγματα
- Java Reverse String: Tutorial με παραδείγματα προγραμματισμού
- Μέθοδος Java String Split () - Πώς να διαχωρίσετε μια συμβολοσειρά σε Java
- Java String membandingkanTo Method Με Παραδείγματα Προγραμματισμού
- Το Java String περιέχει () Μέθοδος Εκμάθησης με Παραδείγματα
- Java String length () Μέθοδος με παραδείγματα
- Java String Array - Εκμάθηση με παραδείγματα κώδικα
- Εκπαιδευτικό πρόγραμμα JAVA για αρχάριους: 100+ πρακτικά εκπαιδευτικά βίντεο Java