5 sposobów manipulowania ciągami znaków w Javie

Spisu treści:

5 sposobów manipulowania ciągami znaków w Javie
5 sposobów manipulowania ciągami znaków w Javie

Wideo: 5 sposobów manipulowania ciągami znaków w Javie

Wideo: 5 sposobów manipulowania ciągami znaków w Javie
Wideo: How to Add Simple User-Level Security to Microsoft Access Databases 2024, Kwiecień
Anonim

Łańcuchy to sekwencje znaków. Na przykład „Cześć!” jest łańcuchem, ponieważ składa się ze znaków 'H', 'e', 'l', 'l', 'o' i '!'. W Javie łańcuchy są obiektami, co oznacza, że istnieje klasa String, która ma pola i metody. Możemy użyć metod klasy String do manipulowania ciągami.

Kroki

Metoda 1 z 5: Utwórz ciąg

3016567 1 1
3016567 1 1

Krok 1. Utwórz ciąg znaków za pomocą konstruktora klasy String

    String str = new String("Witaj!");

3016567 2 1
3016567 2 1

Krok 2. Utwórz ciąg, bezpośrednio przypisując ciąg

3016567 3 1
3016567 3 1

Krok 3. Wypróbuj przykład

Oto przykładowy program, który tworzy łańcuch na dwa różne sposoby.

    public class StringManipulation { public static void main(String args) { String str1 = new String("Ciąg utworzony za pomocą konstruktora!"); String str2 = "Ciąg utworzony bez konstruktora!"; System.out.println(str1); System.out.println(str2); } }

Metoda 2 z 5: Znajdź długość struny

Krok 1. Zrozum, co to znaczy znaleźć długość sznurka

Długość ciągu to liczba znaków, które zawiera. Na przykład długość ciągu „Hello!” jest 6, ponieważ ma 6 znaków.

3016567 5 1
3016567 5 1

Krok 2. Wywołaj

długość()

na obiekcie String i zapisz wynik w zmiennej całkowitej.

    int strLength = str.length();

3016567 6 1
3016567 6 1

Krok 3. Spróbuj

Oto przykładowy program, który znajduje długość ciągu.

    public class StringManipulation { public static void main(String args) { String str = "Hello!"; int strLength = str.length(); System.out.println("Długość \"" + str + "\" to " + strLength + "."); } }

Metoda 3 z 5: Odwróć ciąg

3016567 7
3016567 7

Krok 1. Zrozum, co to znaczy odwrócić ciąg

Odwrócenie ciągu oznacza zmianę kolejności znaków w ciągu. Na przykład odwrotność ciągu „Hello!” to „!olleH”. Istnieje wiele sposobów odwrócenia ciągu znaków w Javie.

3016567 8 1
3016567 8 1

Krok 2. Użyj metody odwrotnej klasy StringBuffer

Utwórz obiekt StringBuffer, który przyjmuje ciąg, który chcesz odwrócić jako parametr. Użyj metody reverse() StringBuffer, a następnie pobierz nowo odwrócony ciąg za pomocą metody toString().

    public class StringManipulation { public static void main(String args) { String str = "Hello!"; Bufor StringBuffer = nowy StringBuffer(str); String reversedStr = buffer.reverse().toString(); System.out.println("Odwrotność ciągu \"" + str + "\" to \"" + reversedStr + "\"."); } }

3016567 9 1
3016567 9 1

Krok 3. Iteruj przez znaki w ciągu w odwrotnej kolejności, dołączając te znaki do StringBuffer w każdej iteracji

Utwórz nowy obiekt StringBuffer zainicjowany długością ciągu, który chcesz odwrócić jako parametr. Następnie użyj pętli for, aby przejść przez ciąg, zaczynając od ostatniego znaku w ciągu i kończąc na pierwszym znaku w ciągu. W każdej iteracji dołącz znak o tym indeksie do StringBuffer. Pobierz nowo odwrócony ciąg za pomocą metody toString().

    public class StringManipulation { public static void main(String args) { String str = "Hello!"; Bufor StringBuffer = nowy StringBuffer(str.length()); for (int i = str.length() - 1; i >= 0; i--) { buffer.append(str.charAt(i)); } String reversedStr = buffer.toString(); System.out.println("Odwrotność ciągu \"" + str + "\" to \"" + reversedStr + "\"."); } }

3016567 10 1
3016567 10 1

Krok 4. Napisz funkcję rekurencyjną, aby odwrócić ciąg

W funkcji rekurencyjnej podstawowym przypadkiem/warunkiem jest to, czy ciąg jest pusty lub jeśli długość ciągu jest mniejsza lub równa brak. W przeciwnym razie metoda reverse() jest wywoływana ponownie z ciągiem znaków minus pierwszy znak, a pierwszy znak jest dołączany na końcu. Jeśli więc przekazaliśmy łańcuch "Hello!", pierwsze wywołanie reverse() po nim będzie miało parametr "ello!".

    public class StringManipulation { public static void main(String args) { String str = "Hello!"; String reversedStr = reverse(str); System.out.println("Odwrotność ciągu \"" + str + "\" to \"" + reversedStr + "\"."); } private static String reverse(String str) { if (str == null || str.length() <= 1) return str; return reverse(str.substring(1)) + str.charAt(0); } }

3016567 11 1
3016567 11 1

Krok 5. Przekonwertuj ciąg na tablicę znaków, a następnie zamień pierwszy i ostatni, drugi i drugi na ostatni itd

postacie. Najpierw przekonwertuj ciąg na tablicę znaków, używając metody toCharArray() ciągu. Pobierz indeks ostatniego znaku w tablicy, który jest równy długości tablicy minus jeden. Następnie przejdź przez tablicę, zamieniając iNS znak i indeksOfLastChar - iNS znak w każdej iteracji. Na koniec przekonwertuj tablicę znaków z powrotem na ciąg.

    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; } String reversedStr = new String(charArray); System.out.println("Odwrotność ciągu \"" + str + "\" to \"" + reversedStr + "\"."); } }

3016567 12 1
3016567 12 1

Krok 6. Przejrzyj swoje wyniki

Oto dane wyjściowe, które wynikają z dowolnej z tych metod odwracania ciągu.

Metoda 4 z 5: Przytnij białą przestrzeń w sznurku

3016567 13
3016567 13

Krok 1. Zrozum, co to znaczy przyciąć białą przestrzeń w ciągu

Przycinanie ciągu znaków w Javie oznacza usunięcie początkowej i końcowej spacji w ciągu. Na przykład, jeśli masz ciąg „

Witaj świecie!

" i chcesz, aby powiedział "Hello, world!" bez spacji na początku i na końcu, możesz przyciąć ciąg. Klasa String dostarcza metodę do trim(), która zwraca kopię ciągu z usunięto początkowe i końcowe białe znaki lub oryginalny ciąg, jeśli nie ma wiodących lub końcowych białych znaków.

3016567 14 1
3016567 14 1

Krok 2. Użyj metody trim() klasy String na obiekcie String, aby przyciąć biały znak

Zauważ, że metoda trim() zgłosi wyjątek, jeśli ciąg ma wartość null. Metoda trim() nie zmieni zawartości oryginalnego ciągu, ponieważ ciągi w Javie są niezmienne, co oznacza, że stan ciągu nie może być modyfikowany po jego utworzeniu. Zamiast tego metoda trim() zwróci nowy ciąg, który ma wycięte białe znaki.

    String trimmedStr = str.trim();

Krok 3. Wypróbuj przykład

Oto przykładowy program, który przycina białe znaki ciągu:

    public class StringManipulation { public static void main(String args) { String str = " Hello! "; String trimmedStr = str.trim(); System.out.println("Oryginalny ciąg to \"" + str + "\"."); System.out.println("Przycięty ciąg to \"" + trimmedStr + "\"."); } }

Metoda 5 z 5: Podziel ciąg

3016567 16
3016567 16

Krok 1. Zrozum, co to znaczy podzielić sznurek

Dzielenie łańcucha w Javie oznacza dzielenie łańcucha przez pewien ogranicznik na tablicę podciągów. Na przykład, jeśli podzielę ciąg "czerwony, niebieski, zielony, żółty, różowy" z przecinkiem jako ogranicznikiem, otrzymam tablicę { "czerwony", "niebieski", "zielony", "żółty", "różowy }. Oto trzy różne sposoby podziału łańcucha.

3016567 17 1
3016567 17 1

Krok 2. Użyj

StringTokenizer

do tokenizacji ciągu.

Import

java.util. StringTokenizer

. Następnie utwórz nową instancję

StringTokenizer

z ciągiem do tokenizacji i ogranicznikiem jako parametrami. Jeśli nie wprowadzisz ogranicznika jako parametru, automatycznie zostanie on ustawiony domyślnie na biały znak. Po tym, jak masz

StringTokenizer

możesz użyć

następnyToken()

metoda, aby uzyskać każdy token.

    import java.util. Arrays; import java.util. StringTokenizer; public class StringManipulation { public static void main(String args) { String str = "czerwony, zielony, niebieski, żółty, różowy"; StringTokenizer tokenizer = new StringTokenizer(str, ", "); int liczbaTokenów = tokenizer.countTokens(); String splitArr = new String[liczbaTokenów]; for (int i = 0; i < liczbaTokenów; i++) { splitArr = tokenizer.nextToken(); } System.out.println("\nOryginalny ciąg: " + str); System.out.println("Split Array: " + Arrays.toString(splitArr) + "\n"); } }

  • Przed Javą 1.4,

    StringTokenizer

    klasa została użyta do dzielenia ciągów w Javie. Ale teraz użycie

    StringTokenizer

    jest odradzane i korzystanie z

    podział()

    metoda w

    Strunowy

    klasa lub użycie

    java.util.regex

  • pakiet jest zachęcany.
3016567 18 1
3016567 18 1

Krok 3. Użyj

Strunowy

klasa

podział()

metoda.

ten

podział()

Metoda przyjmie ogranicznik jako parametr i zwróci tablicę podłańcuchów, które są takie same jak tokeny z

StringTokenizer

    import java.util. Arrays; public class StringManipulation { public static void main(String args) { String str = "czerwony, zielony, niebieski, żółty, różowy"; String splitArr = str.split(", "); System.out.println("\nOryginalny ciąg: " + str); System.out.println("Split Array: " + Arrays.toString(splitArr) + "\n"); } }

3016567 19 1
3016567 19 1

Krok 4. Użyj wyrażeń regularnych, aby podzielić ciąg

Import

java.util.regex.wzór

. Użyj

skompilować()

metoda

Wzór

class, aby ustawić ogranicznik, a następnie podać

podział()

metoda ciąg, który chcesz podzielić. ten

Wzór

zwróci tablicę podciągów.

    import java.util. Arrays; importowanie java.util.regex. Pattern; public class StringManipulation { public static void main(String args) { String str = "czerwony, zielony, niebieski, żółty, różowy"; String splitArr = Pattern.compile(", ").split(str); System.out.println("\nOryginalny ciąg: " + str); System.out.println("Split Array: " + Arrays.toString(splitArr) + "\n"); } }

3016567 20 1
3016567 20 1

Krok 5. Przejrzyj swoje wyniki

Oto dane wyjściowe, które wynikają z dowolnej z tych metod dzielenia ciągów.

Zalecana: