Ł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
Krok 1. Utwórz ciąg znaków za pomocą konstruktora klasy String
String str = new String("Witaj!");
Krok 2. Utwórz ciąg, bezpośrednio przypisując ciąg
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.
Krok 2. Wywołaj
długość()
na obiekcie String i zapisz wynik w zmiennej całkowitej.
int strLength = str.length();
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
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.
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 + "\"."); } }
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 + "\"."); } }
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); } }
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 + "\"."); } }
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
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.
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
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.
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
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"); } }
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"); } }
Krok 5. Przejrzyj swoje wyniki
Oto dane wyjściowe, które wynikają z dowolnej z tych metod dzielenia ciągów.