5 manieren om strings in Java te manipuleren

Inhoudsopgave:

5 manieren om strings in Java te manipuleren
5 manieren om strings in Java te manipuleren

Video: 5 manieren om strings in Java te manipuleren

Video: 5 manieren om strings in Java te manipuleren
Video: How to Add Simple User-Level Security to Microsoft Access Databases 2024, April
Anonim

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

3016567 1 1
3016567 1 1

Stap 1. Maak een string met behulp van de constructor van de klasse String

    String str = nieuwe String ("Hallo!");

3016567 2 1
3016567 2 1

Stap 2. Maak een string aan door direct een string toe te wijzen

3016567 3 1
3016567 3 1

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.

3016567 5 1
3016567 5 1

Stap 2. Roep de. aan

lengte()

methode op het String-object en sla het resultaat op in een integer-variabele.

    int strLength = str.lengte();

3016567 6 1
3016567 6 1

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

3016567 7
3016567 7

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.

3016567 8 1
3016567 8 1

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

3016567 9 1
3016567 9 1

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

3016567 10 1
3016567 10 1

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

3016567 11 1
3016567 11 1

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

3016567 12 1
3016567 12 1

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

3016567 13
3016567 13

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.

3016567 14 1
3016567 14 1

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

3016567 16
3016567 16

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.

3016567 17 1
3016567 17 1

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

  • pakket wordt aangemoedigd.
3016567 18 1
3016567 18 1

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

3016567 19 1
3016567 19 1

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

3016567 20 1
3016567 20 1

Stap 5. Controleer uw uitvoer

Hier is de uitvoer die het resultaat is van een van deze methoden voor het splitsen van strings.

Aanbevolen: