java substring method tutorial with examples
W tym samouczku omówimy metodę podciągów Java. Przyjrzymy się składni, krótkiemu wprowadzeniu i przykładom podciągów Java:
Omówimy również ważne przykłady oparte na scenariuszach, a także często zadawane pytania, które pomogą Ci jeszcze lepiej zrozumieć tę metodę.
Po przejściu przez ten samouczek języka Java będziesz w stanie stworzyć własne programy do wyodrębniania dowolnego podciągu z głównego ciągu i dalej wykonywać na nim dowolne operacje.
=> Zapoznaj się z podręcznikiem Java dla początkujących tutaj.
Czego się nauczysz:
Podciąg Java ()
Jak wszyscy wiemy, podciąg Java jest niczym innym jak częścią głównego ciągu.
Na przykład ,W łańcuchu „Testowanie oprogramowania” podciągami są „Oprogramowanie” i „Testowanie”.
Ta metoda służy do zwracania lub wyodrębniania podciągu z głównego ciągu. Teraz, aby wyodrębnić z głównego ciągu, musimy określić indeks początkowy i indeks końcowy w metodzie substring ().
Ta metoda ma dwie różne formy. Poniżej podano składnię każdej z tych form.
Składnia:
String substring(int startingIndex); String substring(int startingIndex, int endingIndex);
W następnej sekcji przyjrzymy się bliżej każdej z tych form.
Indeks początkowy
W tej sekcji omówimy pierwszą postać metody substring () języka Java. Pierwsza forma zwraca podciąg, który zaczyna się od danego indeksu, a następnie przechodzi przez cały ciąg. Więc cokolwiek wymienisz w indeksie początkowym, zwróci cały ciąg znaków z tego konkretnego indeksu.
Poniżej podano program, w którym zademonstrowaliśmy wyodrębnianie przy użyciu pierwszej formy metody substring (). Pobraliśmy ciąg wejściowy „Pomoc do testowania oprogramowania”, a następnie wyodrębniliśmy podciąg z indeksu 9.
Zatem wynikiem będzie „Pomoc w testowaniu”.
Uwaga: Indeks Java String zawsze zaczyna się od zera.
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)); } }
Wynik:
Indeks początkowy i końcowy
W tej sekcji omówimy drugą formę metody. W tym miejscu weźmiemy wejściowy ciąg znaków „Metoda podciągu ciągu Java” i spróbujemy wyodrębnić podciąg przy użyciu drugiej formy, która polega na określeniu zarówno indeksu początkowego, jak i końcowego.
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)); } }
Wynik:
najlepszy program do konwersji plików wideo
Przykłady podciągów Java
Scenariusz 1: Jaki będzie wynik metody podłańcuchowej, gdy określony indeks nie występuje w głównym ciągu?
Wyjaśnienie: W tym scenariuszu weźmiemy wejściowy ciąg znaków „Programowanie w języku Java” i spróbujemy określić indeks jako 255 i 350 odpowiednio dla indeksów początkowych i końcowych.
Jak wiemy, jeśli String nie ma numeru indeksu 255, to musi zgłosić błąd. Zgodnie z regułami predefiniowanymi w języku Java dla wyjątku, powinien on generować wyjątek „indeks poza zakresem”. Dzieje się tak, ponieważ indeks, który określiliśmy w metodzie, jest poza zakresem dla danego ciągu znaków.
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)); } }
Wynik:
Scenariusz 2: Jaki będzie wynik tej metody, gdy podamy ujemną wartość indeksu?
Wyjaśnienie: W tym miejscu weźmiemy ciąg wejściowy „Samouczki dotyczące podciągów Java” i postaramy się podać ujemne indeksy początkowe i końcowe oraz sprawdzić, jak reaguje program.
Ponieważ indeks Java String zaczyna się od zera, nie powinien akceptować ujemnych liczb całkowitych w indeksie. Dlatego program musi zgłosić wyjątek.
Typ błędu powinien ponownie obejmować wyjątek „Indeks ciągu poza zakresem”, ponieważ określony indeks nie występuje w głównym ciągu.
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)); } }
Wynik:
Scenariusz 3: Jaki będzie wynik podciągu, gdy podamy (0,0) w indeksach początkowym i końcowym?
Wyjaśnienie: Jest to kolejny bardzo dobry scenariusz do zrozumienia metody String substring () w języku Java. Tutaj weźmiemy wejściowy ciąg znaków „Saket Saurav” i spróbujemy pobrać podciąg zaczynający się od indeksu zerowego, a kończący na indeksie zerowym.
Ciekawie będzie zobaczyć, jak program zareaguje.
Ponieważ mamy takie same indeksy początkowy i końcowy, powinno zwrócić puste miejsce. Jednak program kompiluje się pomyślnie w tym scenariuszu.
Zwróci puste miejsce dla wszystkich takich wartości, w których indeksy początkowy i końcowy są takie same. Czy to (0,0), (1,1) lub (2,2) i tak dalej.
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)); } }
Wynik:
Często Zadawane Pytania
Pytanie 1) Jak podzielić ciąg znaków na podciągi w Javie? Jak ponownie utworzyć ten sam ciąg z podciągów?
Odpowiedź: Poniżej znajduje się program, w którym pobraliśmy wejściowy ciąg znaków i podzieliliśmy go na podciągi, określając indeks początkowy i końcowy.
Ponownie stworzyliśmy ten sam ciąg, używając podciągów za pomocą operatora konkatowania ciągów.
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 ); } }
Wynik:
Pytanie nr 2) Jak sprawdzić, czy ciąg jest podłańcuchem innego w Javie?
Odpowiedź: Poniżej znajduje się program, w którym pobraliśmy ciąg wejściowy „Przykład podciągu”. Następnie pobraliśmy podciąg i zapisaliśmy w zmiennej typu String „substr”. Następnie użyliśmy metody JavaScript zawiera (), aby sprawdzić, czy ciąg jest częścią głównego ciągu, czy nie.
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'); } } }
Wynik:
Pytanie nr 3) Jaki jest zwracany typ metody substring () w języku Java?
Odpowiedź: Jak wiemy, klasa String jest niezmienna, a metoda substring () jest wbudowaną metodą klasy String. Za każdym razem, gdy wykonujesz operację na łańcuchu, następny ciąg jest zwracanym nowym ciągiem.
To samo dzieje się z tą metodą. Za każdym razem, gdy wywołujemy metodę substring (), wynikowy ciąg jest nowym ciągiem. Dlatego typem zwracanym przez tę metodę w Javie jest String.
Pytanie 4) Czy łańcuchy znaków są bezpieczne dla wątków w Javie?
Odpowiedź: Tak. Podobnie jak StringBuffer, String jest również bezpieczny dla wątków w Javie. Oznacza to, że String może być używany tylko przez jeden wątek w danym momencie i nie pozwala na jednoczesne używanie dwóch wątków.
Pytanie nr 5) Jaka jest różnica między dwoma różnymi podejściami do inicjowania ciągu?
String str1 = „ABC”;
String str2 = new String („ABC”);
Odpowiedź: Obie linie kodów dadzą ci obiekt String. Teraz możemy wymienić różnice.
szablon raportu z wykonania testu w programie Excel
Pierwsza linia kodu zwróci istniejący obiekt z puli String, podczas gdy druga linia kodu, w której String jest tworzony za pomocą operatora „new”, zawsze zwróci nowy obiekt, który jest tworzony w pamięci sterty.
Chociaż wartość „ABC” jest „równa” w obu wierszach, nie jest to „==”.
Przejdźmy teraz do następującego programu.
Tutaj zainicjowaliśmy trzy zmienne typu String. Pierwsze porównanie jest wykonywane na podstawie porównania odniesień „==” dla słowa1 i słowo2, które zwraca prawdę. Dzieje się tak, ponieważ użyli tego samego istniejącego obiektu z puli String.
Drugie porównanie zostało wykonane na str1 i str3 przy użyciu „==”, gdzie porównanie odniesienia różni się, ponieważ obiekt String był częścią elementu str3, który jest tworzony od nowa za pomocą operatora „new”. W związku z tym zwrócił fałsz.
Trzecie porównanie zostało wykonane za pomocą metody „.equals ()”, która porównała wartości zawarte w str1 i str3. Wartość obu zmiennych typu String jest taka sama, tj. Są równe. Dlatego wróciła prawda.
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)); } }
Wynik:
Wniosek
W tym samouczku omówiliśmy różne formy metody substring (). Ponadto zamieściliśmy wiele pytań opartych na scenariuszach wraz z często zadawanymi pytaniami, które pomogły w szczegółowym zrozumieniu metody.
Dalsza lektura = >> Funkcja podłańcucha MySQL
Zawiera składnię, przykłady programowania i szczegółową analizę dla każdego scenariusza i koncepcji. To z pewnością pomoże ci w tworzeniu własnych programów metody substring () i wykonywaniu różnych operacji na łańcuchach na każdym kolejnym łańcuchu.
=> Przeczytaj serię szkoleń Easy Java.
rekomendowane lektury
- Samouczek dotyczący ciągów Java | Metody ciągów Java z przykładami
- Odwrócony ciąg Java: samouczek z przykładami programowania
- Metoda Java String Split () - Jak podzielić ciąg w języku Java
- Metoda Java String compareTo z przykładami programowania
- Java String zawiera () Samouczek dotyczący metody z przykładami
- Metoda Java String length () z przykładami
- Java String Array - samouczek z przykładami kodu
- Samouczek JAVA dla początkujących: ponad 100 praktycznych samouczków wideo Java