Reťazce sú sekvencie postáv. Napríklad „Ahoj!“je reťazec, pretože pozostáva zo znakov „H“, „e“, „l“, „l“, „o“a „!“. V Jave sú reťazce objekty, čo znamená, že existuje trieda String, ktorá má polia a metódy. Na manipuláciu so reťazcami môžeme použiť metódy triedy String.
Kroky
Metóda 1 z 5: Vytvorte reťazec
Krok 1. Vytvorte reťazec pomocou konštruktora triedy String
Reťazec str = nový reťazec („Ahoj!“);
Krok 2. Vytvorte reťazec priamym priradením reťazca
Krok 3. Skúste príklad
Tu je ukážkový program, ktorý vytvára reťazec dvoma rôznymi spôsobmi.
public class StringManipulation {public static void main (String args) {String str1 = new String ("String created with a constructor!"); String str2 = "Reťazec vytvorený bez konštruktora!"; System.out.println (str1); System.out.println (str2); }}
Metóda 2 z 5: Zistite dĺžku reťazca
Krok 1. Pochopte, čo to znamená nájsť dĺžku reťazca
Dĺžka reťazca je počet znakov, ktoré reťazec obsahuje. Napríklad dĺžka reťazca „Ahoj!“je 6, pretože má 6 znakov.
Krok 2. Vyvolajte súbor
dĺžka ()
metódu na objekte String a výsledok uložte do celočíselnej premennej.
int strLength = str.length ();
Krok 3. Skúste to
Tu je ukážkový program, ktorý zistí dĺžku reťazca.
public class StringManipulation {public static void main (String args) {String str = "Hello!"; int strLength = str.length (); System.out.println ("Dĺžka \" " + str +" / "je" + strLength + "."); }}
Metóda 3 z 5: Obráťte reťazec
Krok 1. Pochopte, čo znamená obrátiť reťazec
Obrátenie reťazca znamená zmenu poradia znakov v reťazci. Napríklad zadná strana reťazca „Ahoj!“je "! olleH". V Jave existuje mnoho spôsobov, ako obrátiť reťazec.
Krok 2. Použite reverznú metódu triedy StringBuffer
Vytvorte objekt StringBuffer, ktorý ako parameter preberá reťazec, ktorý chcete obrátiť. Použite metódu StringBuffer's reverse () a potom načítajte novo obrátený reťazec pomocou metódy toString ().
public class StringManipulation {public static void main (String args) {String str = "Hello!"; StringBuffer buffer = nový StringBuffer (str); Reťazec reversedStr = buffer.reverse (). ToString (); System.out.println ("Rubová strana reťazca \" " + str +" / "je \" " + reversedStr +" / "."); }}
Krok 3. Opakujte znaky v reťazci opačne a pri každej iterácii pripojte tieto znaky k StringBuffer
Vytvorte nový objekt StringBuffer inicializovaný s dĺžkou reťazca, ktorý chcete ako parameter obrátiť. Potom pomocou slučky for iterujte reťazcom, začínajúc od posledného znaku v reťazci a končiac prvým znakom v reťazci. Pri každej iterácii pripojte znak v tomto indexe k StringBuffer. Načítajte novo obrátený reťazec pomocou metódy toString ().
public class StringManipulation {public static void main (String args) {String str = "Hello!"; StringBuffer buffer = nový StringBuffer (str.length ()); for (int i = str.length ()-1; i> = 0; i--) {buffer.append (str.charAt (i)); } Reťazec reversedStr = buffer.toString (); System.out.println ("Rubová strana reťazca \" " + str +" / "je \" " + reversedStr +" / "."); }}
Krok 4. Napíšte rekurzívnu funkciu na obrátenie reťazca
V rekurzívnej funkcii je základným prípadom / podmienkou, ak je reťazec nulový alebo ak je dĺžka reťazca menšia alebo sa rovná žiadnej. V opačnom prípade sa opäť zavolá metóda reverse () s reťazcom mínus prvý znak a prvý znak sa na konci pripne. Ak sme teda zadali reťazec „Ahoj!“, Prvé volanie reverzu () po ňom bude mať parameter „ello!“.
public class StringManipulation {public static void main (String args) {String str = "Hello!"; Reťazec reversedStr = reverse (str); System.out.println ("Rubová strana reťazca \" " + str +" / "je \" " + reversedStr +" / "."); } private static String reverse (String str) {if (str == null || str.length () <= 1) return str; návrat vzad (str.substring (1)) + str.charAt (0); }}
Krok 5. Premeňte reťazec na pole znakov a potom vymeňte prvý a posledný, druhý a druhý za posledný atď
postavy. Najprv preveďte reťazec na pole znakov pomocou metódy toCharArray () na reťazci. Získajte index posledného znaku v poli, ktorý sa rovná dĺžke poľa mínus jeden. Potom iterujte poľom a vymeňte ith znak a indexOfLastChar - ith charakter v každej iterácii. Nakoniec skonvertujte pole znakov späť na reťazec.
public class StringManipulation {public static void main (String args) {String str = "Hello!"; char charArray = str.toCharArray (); int indexOfLastChar = charArray.length - 1; pre (int i = 0; i <charArray.length/2; i ++) {char temp = charArray ; charArray = charArray [indexOfLastChar - i]; charArray [indexOfLastChar - i] = teplota; } Reťazec reversedStr = nový reťazec (charArray); System.out.println ("Rubová strana reťazca \" " + str +" / "je \" " + reversedStr +" / "."); }}
Krok 6. Skontrolujte svoj výstup
Tu je výstup, ktorý je výsledkom ktorejkoľvek z týchto metód obrátenia reťazca.
Metóda 4 z 5: Orezajte biely priestor v reťazci
Krok 1. Pochopte, čo to znamená orezať biele miesto v reťazci
Orezanie reťazca v jazyku Java znamená odstránenie úvodného a zadného medzery v reťazci. Ak máte napríklad reťazec „
Ahoj svet!
"a chcete, aby bolo povedané" Ahoj, svet! "bez medzery na začiatku a na konci môžete reťazec orezať. Trieda String poskytuje metódu trim (), ktorá vráti kópiu reťazca pomocou prázdny a koncový prázdny priestor bol odstránený alebo pôvodný reťazec, ak neobsahuje žiadne prázdne ani úplné medzery.
Krok 2. Na orezanie bieleho priestoru použite metódu trim () triedy String na objekte String
Všimnite si toho, že metóda trim () vyvolá výnimku, ak je reťazec null. Metóda trim () nezmení obsah pôvodného reťazca, pretože reťazce v jazyku Java sú nemenné, čo znamená, že stav reťazca nemožno po jeho vytvorení upravovať. Metóda trim () skôr vráti nový reťazec, ktorého medzery sú orezané.
Reťazec trimmedStr = str.trim ();
Krok 3. Skúste príklad
Tu je ukážkový program, ktorý orezáva biele miesto reťazca:
public class StringManipulation {public static void main (String args) {String str = "Hello!"; Reťazec trimmedStr = str.trim (); System.out.println ("Pôvodný reťazec je \" " + str +" / "."); System.out.println ("Orezaný reťazec je \" " + orezanýStr +" / "."); }}
Metóda 5 z 5: Rozdelenie reťazca
Krok 1. Pochopte, čo to znamená rozdeliť reťazec
Rozdelenie reťazca v jazyku Java znamená rozdelenie reťazca určitým oddeľovačom na pole podreťazcov. Ak napríklad oddelím reťazec „červená, modrá, zelená, žltá, ružová“čiarkou ako oddeľovač, získa sa pole {„červená“, „modrá“, „zelená“, „žltá“, „ružová“ }. Tu sú tri rôzne spôsoby rozdelenia reťazca.
Krok 2. Použiť
StringTokenizer
na tokenizáciu reťazca.
Import
java.util. StringTokenizer
. Potom vytvorte novú inštanciu súboru a
StringTokenizer
s reťazcom na tokenizáciu a oddeľovačom ako parametrami. Ak nezadáte oddeľovač ako parameter, oddeľovač sa automaticky nastaví na prázdne miesto. Potom, čo budete mať
StringTokenizer
môžete použiť
nextToken ()
metóda na získanie každého tokenu.
import java.util. Arrays; import java.util. StringTokenizer; public class StringManipulation {public static void main (String args) {String str = "red, green, blue, yellow, pink"; StringTokenizer tokenizer = nový StringTokenizer (str, ","); int numberOfTokens = tokenizer.countTokens (); String splitArr = nový reťazec [numberOfTokens]; for (int i = 0; i <numberOfTokens; i ++) {splitArr = tokenizer.nextToken (); } System.out.println ("\ nPôvodný reťazec:" + str); System.out.println ("Rozdelené pole:" + Arrays.toString (splitArr) + "\ n"); }}
Pred jazykom Java 1.4
StringTokenizer
trieda bola použitá na rozdelenie reťazcov v Jave. Teraz však použitie
StringTokenizer
sa neodporúča a používanie
rozdeliť ()
metóda v
Reťazec
triedy alebo používanie
java.util.regex
Krok 3. Použite
Reťazec
triedy
rozdeliť ()
metóda.
The
rozdeliť ()
metóda prevezme oddeľovač ako parameter a vráti pole podreťazcov, ktoré sú rovnaké ako tokeny z
StringTokenizer
import java.util. Arrays; public class StringManipulation {public static void main (String args) {String str = "red, green, blue, yellow, pink"; Reťazec splitArr = str.split (","); System.out.println ("\ nPôvodný reťazec:" + str); System.out.println ("Rozdelené pole:" + Arrays.toString (splitArr) + "\ n"); }}
Krok 4. Na rozdelenie reťazca použite regulárne výrazy
Import
java.util.regex. Pattern
. Použi
skompilovať ()
metóda
Vzor
triedu nastaviť oddeľovač a potom zadať
rozdeliť ()
spracujte reťazec, ktorý chcete rozdeliť. The
Vzor
vráti pole podreťazcov.
import java.util. Arrays; import java.util.regex. Pattern; public class StringManipulation {public static void main (String args) {String str = "red, green, blue, yellow, pink"; String splitArr = Pattern.compile (",").split (str); System.out.println ("\ nPôvodný reťazec:" + str); System.out.println ("Rozdelené pole:" + Arrays.toString (splitArr) + "\ n"); }}
Krok 5. Skontrolujte svoj výstup
Tu je výstup, ktorý je výsledkom ktorejkoľvek z týchto metód rozdeľovania reťazcov.