5 spôsobov, ako manipulovať s reťazcami v Jave

Obsah:

5 spôsobov, ako manipulovať s reťazcami v Jave
5 spôsobov, ako manipulovať s reťazcami v Jave

Video: 5 spôsobov, ako manipulovať s reťazcami v Jave

Video: 5 spôsobov, ako manipulovať s reťazcami v Jave
Video: Полное руководство по Google Forms - универсальный инструмент для опросов и сбора данных онлайн! 2024, Apríl
Anonim

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

3016567 1 1
3016567 1 1

Krok 1. Vytvorte reťazec pomocou konštruktora triedy String

    Reťazec str = nový reťazec („Ahoj!“);

3016567 2 1
3016567 2 1

Krok 2. Vytvorte reťazec priamym priradením reťazca

3016567 3 1
3016567 3 1

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.

3016567 5 1
3016567 5 1

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 ();

3016567 6 1
3016567 6 1

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

3016567 7
3016567 7

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.

3016567 8 1
3016567 8 1

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 +" / "."); }}

3016567 9 1
3016567 9 1

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 +" / "."); }}

3016567 10 1
3016567 10 1

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); }}

3016567 11 1
3016567 11 1

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 +" / "."); }}

3016567 12 1
3016567 12 1

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

3016567 13
3016567 13

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.

3016567 14 1
3016567 14 1

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

3016567 16
3016567 16

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.

3016567 17 1
3016567 17 1

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

  • balíček je podporovaný.
3016567 18 1
3016567 18 1

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"); }}

3016567 19 1
3016567 19 1

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"); }}

3016567 20 1
3016567 20 1

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.

Odporúča: