Strings zijn opeenvolgingen van karakters. Bijvoorbeeld: "Hallo!" is een tekenreeks omdat deze bestaat uit de tekens 'H', 'e', 'l', 'l', 'o' en '!'. In Java zijn strings objecten, wat betekent dat er een String-klasse is met velden en methoden. We kunnen de methoden van de klasse String gebruiken om strings te manipuleren.
Stappen
Methode 1 van 5: Maak een string
Stap 1. Maak een string met behulp van de constructor van de klasse String
String str = nieuwe String ("Hallo!");
Stap 2. Maak een string aan door direct een string toe te wijzen
Stap 3. Probeer een voorbeeld
Hier is een voorbeeldprogramma dat op twee verschillende manieren een string maakt.
public class StringManipulation { public static void main (String args) { String str1 = new String ("String gemaakt met een constructor!"); String str2 = "String gemaakt zonder een constructor!"; Systeem.uit.println(str1); Systeem.uit.println(str2); } }
Methode 2 van 5: Zoek de lengte van een string
Stap 1. Begrijp wat het betekent om de lengte van een string te vinden
De lengte van een string is het aantal karakters dat de string bevat. Bijvoorbeeld de lengte van de tekenreeks "Hallo!" is 6 omdat het 6 tekens heeft.
Stap 2. Roep de. aan
lengte()
methode op het String-object en sla het resultaat op in een integer-variabele.
int strLength = str.lengte();
Stap 3. Probeer het eens
Hier is een voorbeeldprogramma dat de lengte van een string vindt.
public class StringManipulation { public static void main (String args) { String str = "Hallo!"; int strLength = str.lengte(); System.out.println("De lengte van \"" + str + "\" is " + strLength + "."); } }
Methode 3 van 5: Een string omkeren
Stap 1. Begrijp wat het betekent om een string om te keren
Een string omkeren betekent de volgorde van de karakters in een string omdraaien. Bijvoorbeeld het omgekeerde van de tekenreeks "Hallo!" is "!olleH". Er zijn veel manieren om een string in Java om te draaien.
Stap 2. Gebruik de omgekeerde methode van de StringBuffer-klasse
Maak een StringBuffer-object dat de tekenreeks die u wilt omkeren als parameter opneemt. Gebruik de methode reverse() van StringBuffer en haal vervolgens de nieuwe omgekeerde tekenreeks op met behulp van de methode toString().
public class StringManipulation { public static void main (String args) { String str = "Hallo!"; StringBuffer-buffer = nieuwe StringBuffer(str); String reversedStr = buffer.reverse().toString(); System.out.println("Het omgekeerde van de string \"" + str + "\" is \"" + reversedStr + "\"."); } }
Stap 3. Herhaal de karakters in een string in omgekeerde volgorde en voeg deze karakters bij elke iteratie toe aan een StringBuffer
Maak een nieuw StringBuffer-object, geïnitialiseerd met de lengte van de string die u wilt omkeren als parameter. Gebruik vervolgens een for-lus om door de tekenreeks te bladeren, beginnend bij het laatste teken in de tekenreeks en eindigend bij het eerste teken in de tekenreeks. Voeg bij elke iteratie het teken bij die index toe aan de StringBuffer. Haal de zojuist omgedraaide tekenreeks op met behulp van de methode toString().
public class StringManipulation { public static void main (String args) { String str = "Hallo!"; StringBuffer-buffer = nieuwe StringBuffer(str.length()); for (int i = str.length() - 1; i >= 0; i--) {buffer.append(str.charAt(i)); } String reversedStr = buffer.toString(); System.out.println("Het omgekeerde van de string \"" + str + "\" is \"" + reversedStr + "\"."); } }
Stap 4. Schrijf een recursieve functie om de string om te keren
In de recursieve functie is het basisgeval / de voorwaarde als de string null is of als de lengte van de string kleiner is dan of gelijk is aan geen. Anders wordt de methode reverse() opnieuw aangeroepen met de tekenreeks minus het eerste teken en wordt het eerste teken aan het einde toegevoegd. Dus als we de string "Hallo!" hebben doorgegeven, zal de eerste reverse()-aanroep daarna de parameter "ello!" hebben.
public class StringManipulation { public static void main (String args) { String str = "Hallo!"; String reversedStr = reverse(str); System.out.println("Het omgekeerde van de string \"" + str + "\" is \"" + reversedStr + "\"."); } private static String reverse(String str) {if (str == null || str.length() <= 1) return str; return reverse(str.substring(1)) + str.charAt(0); } }
Stap 5. Converteer de tekenreeks naar een reeks tekens en verwissel vervolgens de eerste en de laatste, de tweede en de voorlaatste, enz
karakters. Converteer eerst de tekenreeks naar een reeks tekens met behulp van de methode toCharArray() op de tekenreeks. Haal de index op van het laatste teken in de array, die gelijk is aan de lengte van de array min één. Herhaal vervolgens de array en verwissel de ie karakter en de indexOfLastChar - ie karakter bij elke iteratie. Converteer ten slotte de tekenreeks terug naar een tekenreeks.
public class StringManipulation { public static void main (String args) { String str = "Hallo!"; 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] = tijdelijk; } String reversedStr = nieuwe String (charArray); System.out.println("Het omgekeerde van de string \"" + str + "\" is \"" + reversedStr + "\"."); } }
Stap 6. Controleer uw uitvoer
Hier is de uitvoer die het resultaat is van een van deze methoden voor het omkeren van tekenreeksen.
Methode 4 van 5: Witruimte in een string bijsnijden
Stap 1. Begrijp wat het betekent om witruimte in een string in te korten
Het trimmen van een string in Java betekent het verwijderen van de voor- en achterliggende witruimte in de string. Als u bijvoorbeeld de tekenreeks"
Hallo Wereld!
" en je wilt dat het zegt "Hallo, wereld!" zonder de witruimte aan het begin en aan het einde, kun je de tekenreeks bijsnijden. De klasse String biedt een methode voor trim() die een kopie van de tekenreeks retourneert met voorloop- en volgspatie verwijderd of de originele tekenreeks als deze geen voorloop- of volgspatie heeft.
Stap 2. Gebruik de methode trim() van de klasse String op een String-object om de witruimte bij te snijden
Merk op dat de methode trim() een uitzondering genereert als de tekenreeks null is. De methode trim() zal de inhoud van de originele tekenreeks niet wijzigen omdat tekenreeksen in Java onveranderlijk zijn, wat betekent dat de status van een tekenreeks niet kan worden gewijzigd nadat deze is gemaakt. In plaats daarvan retourneert de methode trim() een nieuwe tekenreeks waarvan de witruimte is weggesneden.
String getrimdStr = str.trim();
Stap 3. Probeer een voorbeeld
Hier is een voorbeeldprogramma dat de witruimte van een tekenreeks bijsnijdt:
public class StringManipulation { public static void main (String args) { String str = "Hallo! "; String getrimdStr = str.trim(); System.out.println("Originele string is \"" + str + "\"."); System.out.println("Trimmed String is \"" + trimmedStr + "\"."); } }
Methode 5 van 5: Splits een string
Stap 1. Begrijp wat het betekent om een string te splitsen
Het splitsen van een string in Java betekent het splitsen van een string door een bepaald scheidingsteken in een array van substrings. Als ik bijvoorbeeld de tekenreeks "rood, blauw, groen, geel, roze" splits met een komma als scheidingsteken, krijg ik de array { "rood", "blauw", "groen", "geel", "roze "}. Hier zijn drie verschillende manieren om een string te splitsen.
Stap 2. Gebruik
StringTokenizer
om de string te tokeniseren.
Importeren
java.util. StringTokenizer
. Maak vervolgens een nieuwe instantie van a
StringTokenizer
met de tekenreeks om te tokeniseren en het scheidingsteken als parameters. Als u het scheidingsteken niet als parameter invoert, wordt het scheidingsteken automatisch ingesteld op witruimte. Nadat je de
StringTokenizer
kunt u de
volgendeToken()
methode om elk token te krijgen.
java.util. Arrays importeren; import java.util. StringTokenizer; public class StringManipulation { public static void main (String args) { String str = "rood, groen, blauw, geel, roze"; StringTokenizer tokenizer = nieuwe StringTokenizer(str, ", "); int numberOfTokens = tokenizer.countTokens(); String splitArr = nieuwe String[aantalTokens]; for (int i = 0; i < numberOfTokens; i++) { splitArr = tokenizer.nextToken(); } System.out.println("\nOriginele string: " + str); System.out.println("Split Array: " + Arrays.toString(splitArr) + "\n"); } }
Vóór Java 1.4 was de
StringTokenizer
class werd gebruikt om strings in Java te splitsen. Maar nu, het gebruik van
StringTokenizer
wordt ontmoedigd en het gebruik van de
splitsen()
methode in de
Snaar
klasse of het gebruik van de
java.util.regex
Stap 3. Gebruik de
Snaar
klasse's
splitsen()
methode.
De
splitsen()
methode neemt het scheidingsteken als parameter op en retourneert een array van substrings die hetzelfde zijn als de tokens van de
StringTokenizer
import java.util. Arrays; public class StringManipulation { public static void main (String args) { String str = "rood, groen, blauw, geel, roze"; String splitArr = str.split(", "); System.out.println("\nOriginele string: " + str); System.out.println("Split Array: " + Arrays.toString(splitArr) + "\n"); } }
Stap 4. Gebruik reguliere expressies om de string te splitsen
Importeren
java.util.regex. Pattern
. Gebruik de
compileren()
methode van de
Patroon
class om het scheidingsteken in te stellen en geef vervolgens de
splitsen()
methode de string die u wilt splitsen. De
Patroon
zal een array van substrings teruggeven.
java.util. Arrays importeren; java.util.regex. Patroon importeren; public class StringManipulation { public static void main (String args) { String str = "rood, groen, blauw, geel, roze"; String splitArr = Patroon.compile(", ").split(str); System.out.println("\nOriginele string: " + str); System.out.println("Split Array: " + Arrays.toString(splitArr) + "\n"); } }
Stap 5. Controleer uw uitvoer
Hier is de uitvoer die het resultaat is van een van deze methoden voor het splitsen van strings.