5 moduri de a manipula șirurile în Java

Cuprins:

5 moduri de a manipula șirurile în Java
5 moduri de a manipula șirurile în Java

Video: 5 moduri de a manipula șirurile în Java

Video: 5 moduri de a manipula șirurile în Java
Video: How to Add Simple User-Level Security to Microsoft Access Databases 2024, Aprilie
Anonim

Corzile sunt secvențe de personaje. De exemplu, "Bună ziua!" este un șir deoarece este format din caracterele „H”, „e”, „l”, „l”, „o” și „!”. În Java, șirurile sunt obiecte, ceea ce înseamnă că există o clasă de șiruri care are câmpuri și metode. Putem folosi metodele clasei String pentru a manipula șirurile.

Pași

Metoda 1 din 5: Creați un șir

3016567 1 1
3016567 1 1

Pasul 1. Creați un șir folosind constructorul clasei String

    String str = new String ("Bună ziua!");

3016567 2 1
3016567 2 1

Pasul 2. Creați un șir atribuind direct un șir

3016567 3 1
3016567 3 1

Pasul 3. Încercați un exemplu

Iată un exemplu de program care creează un șir în două moduri diferite.

    public class StringManipulation {public static void main (String args) {String str1 = new String ("Șir creat cu un constructor!"); String str2 = "Șir creat fără un constructor!"; System.out.println (str1); System.out.println (str2); }}

Metoda 2 din 5: Găsiți lungimea unui șir

Pasul 1. Înțelegeți ce înseamnă să găsiți lungimea unui șir

Lungimea unui șir este numărul de caractere pe care îl conține șirul. De exemplu, lungimea șirului „Bună ziua!” este 6 deoarece are 6 caractere.

3016567 5 1
3016567 5 1

Pasul 2. Invocați

lungime()

metoda pe obiectul String și stochează rezultatul într-o variabilă întreagă.

    int strLength = str.length ();

3016567 6 1
3016567 6 1

Pasul 3. Dă-i drumul

Iată un exemplu de program care găsește lungimea unui șir.

    public class StringManipulation {public static void main (String args) {String str = "Hello!"; int strLength = str.length (); System.out.println ("Lungimea lui \" "+ str +" / "este" + strLength + "."); }}

Metoda 3 din 5: inversează un șir

3016567 7
3016567 7

Pasul 1. Înțelegeți ce înseamnă inversarea unui șir

Inversarea unui șir înseamnă să comutați ordinea caracterelor dintr-un șir. De exemplu, reversul șirului „Bună ziua!” este "! olleH". Există multe modalități de a inversa un șir în Java.

3016567 8 1
3016567 8 1

Pasul 2. Folosiți metoda inversă a clasei StringBuffer

Creați un obiect StringBuffer care preia șirul pe care doriți să îl inversați ca parametru. Utilizați metoda StringBuffer's reverse () și apoi extrageți șirul nou inversat folosind metoda toString ().

    public class StringManipulation {public static void main (String args) {String str = "Hello!"; StringBuffer buffer = nou StringBuffer (str); String reversedStr = buffer.reverse (). ToString (); System.out.println ("Reversul șirului \" "+ str +" / "este \" "+ inversatStr +" / "."); }}

3016567 9 1
3016567 9 1

Pasul 3. Iterează caracterele dintr-un șir invers, adăugând aceste caractere la un StringBuffer la fiecare iterație

Creați un nou obiect StringBuffer inițializat cu lungimea șirului pe care doriți să îl inversați ca parametru. Apoi utilizați o buclă for pentru a itera prin șir, începând de la ultimul caracter din șir și terminând cu primul caracter din șir. La fiecare iterație, adăugați caracterul de la acel index la StringBuffer. Recuperați șirul nou inversat folosind metoda toString ().

    public class StringManipulation {public static void main (String args) {String str = "Hello!"; StringBuffer buffer = new StringBuffer (str.length ()); for (int i = str.length () - 1; i> = 0; i--) {buffer.append (str.charAt (i)); } String reversedStr = buffer.toString (); System.out.println ("Reversul șirului \" "+ str +" / "este \" "+ inversatStr +" / "."); }}

3016567 10 1
3016567 10 1

Pasul 4. Scrieți o funcție recursivă pentru a inversa șirul

În funcția recursivă, cazul / condiția de bază este dacă șirul este nul sau dacă lungimea șirului este mai mică sau egală cu niciuna. În caz contrar, metoda reverse () este apelată din nou cu șirul minus primul caracter, iar primul caracter este abordat la sfârșit. Deci, dacă am trecut în șirul „Bună ziua!”, Primul apel invers () după aceea va avea parametrul „ello!”.

    public class StringManipulation {public static void main (String args) {String str = "Hello!"; String inversatStr = invers (str); System.out.println ("Reversul șirului \" "+ str +" / "este \" "+ inversatStr +" / "."); } private static String reverse (String str) {if (str == null || str.length () <= 1) return str; returnare inversă (str.substring (1)) + str.charAt (0); }}

3016567 11 1
3016567 11 1

Pasul 5. Convertiți șirul într-o matrice de caractere și apoi schimbați primul și ultimul, al doilea și al doilea la ultim, etc

personaje. Mai întâi convertiți șirul într-o matrice de caractere utilizând metoda toCharArray () de pe șir. Obțineți indexul ultimului caracter din matrice, care este egal cu lungimea matricei minus unul. Apoi iterați prin matrice, schimbând ia caracter și indexOfLastChar - ia caracter la fiecare iterație. În cele din urmă, convertiți matricea de caractere înapoi într-un șir.

    public class StringManipulation {public static void main (String args) {String str = "Hello!"; char charArray = str.toCharArray (); int indexOfLastChar = charArray.length - 1; for (int i = 0; i <charArray.length / 2; i ++) {char temp = charArray ; charArray = charArray [indexOfLastChar - i]; charArray [indexOfLastChar - i] = temp; } Șir inversatStr = șir nou (charArray); System.out.println ("Reversul șirului \" "+ str +" / "este \" "+ inversatStr +" / "."); }}

3016567 12 1
3016567 12 1

Pasul 6. Examinați rezultatul

Iată rezultatul care rezultă din oricare dintre aceste metode pentru inversarea șirurilor.

Metoda 4 din 5: Tăiați spațiul alb într-un șir

3016567 13
3016567 13

Pasul 1. Înțelegeți ce înseamnă tăierea spațiului alb într-un șir

Tunderea unui șir în Java înseamnă eliminarea spațiului alb principal și final din șir. De exemplu, dacă aveți șirul „

Salut Lume!

"și doriți să-l spuneți" Bună ziua, lume! "fără spațiul alb la început și la final, puteți tăia șirul. Clasa String oferă o metodă de trim () care returnează o copie a șirului cu spațiul alb de conducere și de urmărire a fost eliminat sau șirul original dacă nu are spațiu de alb de conducere sau de urmărire.

3016567 14 1
3016567 14 1

Pasul 2. Folosiți metoda trim () a clasei String pe un obiect String pentru a tăia spațiul alb

Rețineți că metoda trim () va arunca o excepție dacă șirul este nul. Metoda trim () nu va modifica conținutul șirului original deoarece șirurile din Java sunt imuabile, ceea ce înseamnă că starea unui șir nu poate fi modificată după ce a fost creată. Mai degrabă, metoda trim () va returna un șir nou, care are spațiul alb tăiat.

    String trimmedStr = str.trim ();

Pasul 3. Încercați un exemplu

Iată un exemplu de program care ajustează spațiul alb al unui șir:

    public class StringManipulation {public static void main (String args) {String str = "Hello!"; String trimmedStr = str.trim (); System.out.println ("Șirul original este \" "+ str +" / "."); System.out.println ("Trimed String is \" "+ trimmedStr +" / "."); }}

Metoda 5 din 5: Împarte un șir

3016567 16
3016567 16

Pasul 1. Înțelegeți ce înseamnă să împărțiți un șir

Împărțirea unui șir în Java înseamnă împărțirea unui șir de un anumit delimitator într-o matrice de șiruri de caractere. De exemplu, dacă împart șirul „roșu, albastru, verde, galben, roz” cu o virgulă ca delimitator, aș obține matricea {„roșu”, „albastru”, „verde”, „galben”, „roz }. Iată trei moduri diferite de a împărți un șir.

3016567 17 1
3016567 17 1

Pasul 2. Folosiți

StringTokenizer

pentru a simboliza șirul.

Import

java.util. StringTokenizer

. Apoi creați o nouă instanță a

StringTokenizer

cu șirul tokenize și delimitatorul ca parametri. Dacă nu introduceți delimitatorul ca parametru, delimitatorul va intra automat în spațiul alb. După ce ai

StringTokenizer

puteți utiliza

nextToken ()

metoda de a obține fiecare simbol.

    import java.util. Arrays; import java.util. StringTokenizer; public class StringManipulation {public static void main (String args) {String str = "roșu, verde, albastru, galben, roz"; StringTokenizer tokenizer = nou StringTokenizer (str, ","); int numberOfTokens = tokenizer.countTokens (); String splitArr = new String [numberOfTokens]; for (int i = 0; i <numberOfTokens; i ++) {splitArr = tokenizer.nextToken (); } System.out.println ("\ nCord original:" + str); System.out.println ("Split Array:" + Arrays.toString (splitArr) + "\ n"); }}

  • Înainte de Java 1.4,

    StringTokenizer

    clasa a fost folosită pentru a împărți șirurile în Java. Dar acum, utilizarea

    StringTokenizer

    este descurajat și utilizarea

    Despică()

    metoda în

    Şir

    clasa sau utilizarea

    java.util.regex

  • pachetul este încurajat.
3016567 18 1
3016567 18 1

Pasul 3. Folosiți

Şir

de clasă

Despică()

metodă.

The

Despică()

metoda va lua delimitatorul ca parametru și va returna o serie de sub-șiruri care sunt aceleași cu jetoanele din

StringTokenizer

    import java.util. Arrays; public class StringManipulation {public static void main (String args) {String str = "roșu, verde, albastru, galben, roz"; String splitArr = str.split (","); System.out.println ("\ nString original:" + str); System.out.println ("Split Array:" + Arrays.toString (splitArr) + "\ n"); }}

3016567 19 1
3016567 19 1

Pasul 4. Folosiți expresii regulate pentru a împărți șirul

Import

java.util.regex. Pattern

. Folosește

compila()

metoda

Model

pentru a seta delimitatorul și apoi pentru a da

Despică()

metoda șirului pe care doriți să îl împărțiți. The

Model

va returna o matrice de șiruri de caractere.

    import java.util. Arrays; import java.util.regex. Pattern; public class StringManipulation {public static void main (String args) {String str = "roșu, verde, albastru, galben, roz"; String splitArr = Pattern.compile (",").split (str); System.out.println ("\ nString original:" + str); System.out.println ("Split Array:" + Arrays.toString (splitArr) + "\ n"); }}

3016567 20 1
3016567 20 1

Pasul 5. Examinați rezultatul

Iată rezultatul care rezultă din oricare dintre aceste metode pentru divizarea șirurilor.

Recomandat: