logo

Java eilutės poeilutė ()

The Java eilutės klasės poeilutė () metodas grąžina eilutės dalį.

Perduodame „beginIndex“ ir „endIndex“ skaičių pozicijas „Java“ poeilutės metodu, kur „beginIndex“ yra įtrauktas, o „endIndex“ yra išskirtinis. Kitaip tariant, „beginIndex“ prasideda nuo 0, o „endIndex“ prasideda nuo 1.

„Java“ eilutėje yra dviejų tipų poeilutės metodai.

Parašas

 public String substring(int startIndex) // type - 1 and public String substring(int startIndex, int endIndex) // type - 2 

Jei nenurodysime endIndex, metodas grąžins visus simbolius iš startIndex.

Parametrai

startIndex : pradinis indeksas yra imtinai

endIndex : pabaigos indeksas yra išskirtinis

Grąžina

nurodytą eilutę

Išimtis Metimai

StringIndexOutOfBoundsException metamas, kai įvykdoma viena iš toliau nurodytų sąlygų.

  • jei pradžios indeksas yra neigiama reikšmė
  • pabaigos indeksas yra mažesnis nei pradinis indeksas.
  • Pradžios arba pabaigos indeksas yra didesnis nei bendras eilutėje esančių simbolių skaičius.

Vidinio diegimo poeilutė (int beginIndex)

 public String substring(int beginIndex) { if (beginIndex <0) { throw new stringindexoutofboundsexception(beginindex); } int sublen="value.length" - beginindex; if (sublen < 0) stringindexoutofboundsexception(sublen); return (beginindex="=" ? this : string(value, beginindex, sublen); pre> <h3>Internal implementation substring(int beginIndex, int endIndex) </h3> <pre> public String substring(int beginIndex, int endIndex) { if (beginIndex value.length) { throw new StringIndexOutOfBoundsException(endIndex); } int subLen = endIndex - beginIndex; if (subLen <0) { throw new stringindexoutofboundsexception(sublen); } return ((beginindex="=" 0) && (endindex="=" value.length)) ? this : string(value, beginindex, sublen); < pre> <h2>Java String substring() method example</h2> <p> <strong>FileName:</strong> SubstringExample.java</p> <pre> public class SubstringExample{ public static void main(String args[]){ String s1=&apos;javatpoint&apos;; System.out.println(s1.substring(2,4));//returns va System.out.println(s1.substring(2));//returns vatpoint }} </pre> <span> Test it Now </span> <p> <strong>Output:</strong> </p> <pre>va vatpoint </pre> <h2>Java String substring() Method Example 2</h2> <p> <strong>FileName:</strong> SubstringExample2.java</p> <pre> public class SubstringExample2 { public static void main(String[] args) { String s1=&apos;Javatpoint&apos;; String substr = s1.substring(0); // Starts with 0 and goes to end System.out.println(substr); String substr2 = s1.substring(5,10); // Starts from 5 and goes to 10 System.out.println(substr2); String substr3 = s1.substring(5,15); // Returns Exception } } </pre> <p> <strong>Output:</strong> </p> <pre> Javatpoint point Exception in thread &apos;main&apos; java.lang.StringIndexOutOfBoundsException: begin 5, end 15, length 10 </pre> <h2>Applications of substring() Method</h2> <p>1) The substring() method can be used to do some prefix or suffix extraction. For example, we can have a list of names, and it is required to filter out names with surname as &apos;singh&apos;. The following program shows the same.</p> <p> <strong>FileName:</strong> SubstringExample3.java</p> <pre> public class SubstringExample3 { // main method public static void main(String argvs[]) { String str[] = { &apos;Praveen Kumar&apos;, &apos;Yuvraj Singh&apos;, &apos;Harbhajan Singh&apos;, &apos;Gurjit Singh&apos;, &apos;Virat Kohli&apos;, &apos;Rohit Sharma&apos;, &apos;Sandeep Singh&apos;, &apos;Milkha Singh&apos; }; String surName = &apos;Singh&apos;; int surNameSize = surName.length(); int size = str.length; for(int j = 0; j <size; j++) { int length="str[j].length();" extracting the surname string substr="str[j].substring(length" - surnamesize); checks whether is equal to 'singh' or not if(substr.equals(surname)) system.out.println(str[j]); } < pre> <p> <strong>Output:</strong> </p> <pre> Yuvraj Singh Harbhajan Singh Gurjit Singh Sandeep Singh Milkha Singh </pre> <p>2) The substring() method can also be used to check whether a string is a palindrome or not.</p> <p> <strong>FileName:</strong> SubstringExample4.java</p> <pre> public class SubstringExample4 { public boolean isPalindrome(String str) { int size = str.length(); // handling the base case if(size == 0 || size == 1) { // an empty string // or a string of only one character // is always a palindrome return true; } String f = str.substring(0, 1); String l = str.substring(size - 1); // comparing first and the last character of the string if(l.equals(f)) { // recursively finding the solution using the substring() method // reducing the number of characters of the by 2 for the next recursion return isPalindrome(str.substring(1, size - 1)); } return false; } // main method public static void main(String argvs[]) { // instantiating the class SubstringExample4 SubstringExample4 obj = new SubstringExample4(); String str[] = { &apos;madam&apos;, &apos;rock&apos;, &apos;eye&apos;, &apos;noon&apos;, &apos;kill&apos; }; int size = str.length; for(int j = 0; j <size; j++) { if(obj.ispalindrome(str[j])) system.out.println(str[j] + ' is a palindrome.'); } else not < pre> <p> <strong>Output:</strong> </p> <pre> madam is a palindrome. rock is not a palindrome. eye is a palindrome. noon is a palindrome. kill is not a palindrome. </pre> <hr></size;></pre></size;></pre></0)></pre></0)>
Išbandykite dabar

Išvestis:

va vatpoint 

Java String substring() metodo 2 pavyzdys

Failo pavadinimas: PoeilutėExample2.java

 public class SubstringExample2 { public static void main(String[] args) { String s1=&apos;Javatpoint&apos;; String substr = s1.substring(0); // Starts with 0 and goes to end System.out.println(substr); String substr2 = s1.substring(5,10); // Starts from 5 and goes to 10 System.out.println(substr2); String substr3 = s1.substring(5,15); // Returns Exception } } 

Išvestis:

 Javatpoint point Exception in thread &apos;main&apos; java.lang.StringIndexOutOfBoundsException: begin 5, end 15, length 10 

Substring() metodo taikymai

1) Substring() metodas gali būti naudojamas norint išgauti priešdėlį arba priesagą. Pavyzdžiui, mes galime turėti vardų sąrašą ir reikia išfiltruoti vardus, kurių pavardė yra „singh“. Toliau pateikta programa rodo tą patį.

Failo pavadinimas: PoeilutėExample3.java

 public class SubstringExample3 { // main method public static void main(String argvs[]) { String str[] = { &apos;Praveen Kumar&apos;, &apos;Yuvraj Singh&apos;, &apos;Harbhajan Singh&apos;, &apos;Gurjit Singh&apos;, &apos;Virat Kohli&apos;, &apos;Rohit Sharma&apos;, &apos;Sandeep Singh&apos;, &apos;Milkha Singh&apos; }; String surName = &apos;Singh&apos;; int surNameSize = surName.length(); int size = str.length; for(int j = 0; j <size; j++) { int length="str[j].length();" extracting the surname string substr="str[j].substring(length" - surnamesize); checks whether is equal to \'singh\' or not if(substr.equals(surname)) system.out.println(str[j]); } < pre> <p> <strong>Output:</strong> </p> <pre> Yuvraj Singh Harbhajan Singh Gurjit Singh Sandeep Singh Milkha Singh </pre> <p>2) The substring() method can also be used to check whether a string is a palindrome or not.</p> <p> <strong>FileName:</strong> SubstringExample4.java</p> <pre> public class SubstringExample4 { public boolean isPalindrome(String str) { int size = str.length(); // handling the base case if(size == 0 || size == 1) { // an empty string // or a string of only one character // is always a palindrome return true; } String f = str.substring(0, 1); String l = str.substring(size - 1); // comparing first and the last character of the string if(l.equals(f)) { // recursively finding the solution using the substring() method // reducing the number of characters of the by 2 for the next recursion return isPalindrome(str.substring(1, size - 1)); } return false; } // main method public static void main(String argvs[]) { // instantiating the class SubstringExample4 SubstringExample4 obj = new SubstringExample4(); String str[] = { &apos;madam&apos;, &apos;rock&apos;, &apos;eye&apos;, &apos;noon&apos;, &apos;kill&apos; }; int size = str.length; for(int j = 0; j <size; j++) { if(obj.ispalindrome(str[j])) system.out.println(str[j] + \' is a palindrome.\'); } else not < pre> <p> <strong>Output:</strong> </p> <pre> madam is a palindrome. rock is not a palindrome. eye is a palindrome. noon is a palindrome. kill is not a palindrome. </pre> <hr></size;></pre></size;>

2) Substring() metodas taip pat gali būti naudojamas norint patikrinti, ar eilutė yra palindromas, ar ne.

Failo pavadinimas: PoeilutėExample4.java

 public class SubstringExample4 { public boolean isPalindrome(String str) { int size = str.length(); // handling the base case if(size == 0 || size == 1) { // an empty string // or a string of only one character // is always a palindrome return true; } String f = str.substring(0, 1); String l = str.substring(size - 1); // comparing first and the last character of the string if(l.equals(f)) { // recursively finding the solution using the substring() method // reducing the number of characters of the by 2 for the next recursion return isPalindrome(str.substring(1, size - 1)); } return false; } // main method public static void main(String argvs[]) { // instantiating the class SubstringExample4 SubstringExample4 obj = new SubstringExample4(); String str[] = { &apos;madam&apos;, &apos;rock&apos;, &apos;eye&apos;, &apos;noon&apos;, &apos;kill&apos; }; int size = str.length; for(int j = 0; j <size; j++) { if(obj.ispalindrome(str[j])) system.out.println(str[j] + \\' is a palindrome.\\'); } else not < pre> <p> <strong>Output:</strong> </p> <pre> madam is a palindrome. rock is not a palindrome. eye is a palindrome. noon is a palindrome. kill is not a palindrome. </pre> <hr></size;>