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
Pasul 1. Creați un șir folosind constructorul clasei String
String str = new String ("Bună ziua!");
Pasul 2. Creați un șir atribuind direct un șir
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.
Pasul 2. Invocați
lungime()
metoda pe obiectul String și stochează rezultatul într-o variabilă întreagă.
int strLength = str.length ();
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
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.
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 +" / "."); }}
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 +" / "."); }}
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); }}
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 +" / "."); }}
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
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.
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
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.
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
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"); }}
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"); }}
Pasul 5. Examinați rezultatul
Iată rezultatul care rezultă din oricare dintre aceste metode pentru divizarea șirurilor.