5 måder at manipulere strenge på Java

Indholdsfortegnelse:

5 måder at manipulere strenge på Java
5 måder at manipulere strenge på Java

Video: 5 måder at manipulere strenge på Java

Video: 5 måder at manipulere strenge på Java
Video: Windows Event and Logging for the IT Pro 2024, April
Anonim

Strenge er sekvenser af karakterer. For eksempel "Hej!" er en streng, fordi den består af tegnene 'H', 'e', 'l', 'l', 'o' og '!'. I Java er strenge objekter, hvilket betyder, at der er en strengklasse, der har felter og metoder. Vi kan bruge metoderne i strengklassen til at manipulere strenge.

Trin

Metode 1 af 5: Opret en streng

3016567 1 1
3016567 1 1

Trin 1. Opret en streng ved hjælp af konstruktøren af String -klassen

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

3016567 2 1
3016567 2 1

Trin 2. Opret en streng ved direkte at tildele en streng

3016567 3 1
3016567 3 1

Trin 3. Prøv et eksempel

Her er et prøveprogram, der opretter en streng på to forskellige måder.

    public class StringManipulation {public static void main (String args) {String str1 = new String ("String oprettet med en konstruktør!"); String str2 = "String oprettet uden en konstruktør!"; System.out.println (str1); System.out.println (str2); }}

Metode 2 af 5: Find længden af en streng

Trin 1. Forstå, hvad det vil sige at finde længden af en streng

Længden af en streng er antallet af tegn, som strengen indeholder. For eksempel længden af strengen "Hej!" er 6, fordi den har 6 tegn.

3016567 5 1
3016567 5 1

Trin 2. Påkald

længde ()

metode på String -objektet, og gem resultatet i en heltalsvariabel.

    int strLength = str.length ();

3016567 6 1
3016567 6 1

Trin 3. Prøv det

Her er et prøveprogram, der finder længden af en streng.

    public class StringManipulation {public static void main (String args) {String str = "Hej!"; int strLength = str.length (); System.out.println ("Længden af \" " + str +" / "er" + strLength + "."); }}

Metode 3 af 5: Vend en streng om

3016567 7
3016567 7

Trin 1. Forstå, hvad det vil sige at vende en streng

At vende en streng betyder at ændre rækkefølgen af tegnene i en streng. For eksempel omvendt af strengen "Hej!" er "! olleH". Der er mange måder at vende en streng i Java.

3016567 8 1
3016567 8 1

Trin 2. Brug den omvendte metode i StringBuffer -klassen

Opret et StringBuffer -objekt, der optager den streng, du vil reversere som parameter. Brug metoden StringBuffers reverse (), og hent derefter den nyligt omvendte streng ved hjælp af toString () -metoden.

    public class StringManipulation {public static void main (String args) {String str = "Hej!"; StringBuffer buffer = ny StringBuffer (str); String reversedStr = buffer.reverse (). ToString (); System.out.println ("Omvendt af strengen \" " + str +" / "er \" " + reversedStr +" / "."); }}

3016567 9 1
3016567 9 1

Trin 3. Iterere gennem tegnene i en streng omvendt, ved at tilføje disse tegn til en StringBuffer ved hver iteration

Opret et nyt StringBuffer -objekt initialiseret med længden af den streng, som du ønsker at vende om som parameter. Brug derefter en for loop til at gentage gennem strengen, startende fra det sidste tegn i strengen og slutter ved det første tegn i strengen. Ved hver iteration tilføjes karakteren ved dette indeks til StringBuffer. Hent den nyligt omvendte streng ved at bruge metoden toString ().

    public class StringManipulation {public static void main (String args) {String str = "Hej!"; StringBuffer buffer = ny StringBuffer (str.length ()); for (int i = str.length ()-1; i> = 0; i--) {buffer.append (str.charAt (i)); } String reversedStr = buffer.toString (); System.out.println ("Omvendt af strengen \" " + str +" / "er \" " + reversedStr +" / "."); }}

3016567 10 1
3016567 10 1

Trin 4. Skriv en rekursiv funktion for at vende strengen

I den rekursive funktion er grundtilfældet / betingelsen, hvis strengen er nul, eller hvis strengens længde er mindre end eller lig med ingen. Ellers kaldes den omvendte () metode igen med strengen minus det første tegn, og det første tegn bliver slået til i slutningen. Så hvis vi passerede i strengen "Hej!", Vil det første reverse () opkald efter det have parameteren "ello!".

    public class StringManipulation {public static void main (String args) {String str = "Hej!"; String reversedStr = reverse (str); System.out.println ("Omvendt af strengen \" " + str +" / "er \" " + reversedStr +" / "."); } privat statisk String reverse (String str) {if (str == null || str.length () <= 1) return str; returner omvendt (str.substring (1)) + str.charAt (0); }}

3016567 11 1
3016567 11 1

Trin 5. Konverter strengen til en række tegn, og skift derefter den første og sidste, anden og anden til sidste osv

tegn. Konverter først strengen til en række tegn ved hjælp af metoden toCharArray () på strengen. Få indekset for det sidste tegn i arrayet, som er lig med arrayets længde minus et. Derefter gentages gennem arrayet og bytter ith tegn og indexOfLastChar - ith karakter ved hver iteration. Til sidst skal du konvertere karaktermatrix tilbage til en streng.

    public class StringManipulation {public static void main (String args) {String str = "Hej!"; 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 = ny streng (charArray); System.out.println ("Omvendt af strengen \" " + str +" / "er \" " + reversedStr +" / "."); }}

3016567 12 1
3016567 12 1

Trin 6. Gennemgå dit output

Her er output, der er resultatet af en af disse metoder til strengomvendelse.

Metode 4 af 5: Beskær hvidt mellemrum i en streng

3016567 13
3016567 13

Trin 1. Forstå, hvad det vil sige at trimme hvidt mellemrum i en snor

Trimning af en streng i Java betyder at fjerne det førende og efterfølgende hvide rum i strengen. For eksempel, hvis du har strengen"

Hej Verden!

"og du vil have det til at sige" Hej verden! "uden det hvide mellemrum i begyndelsen og i slutningen kan du trimme strengen. Strengklassen giver en metode til at trimme (), som returnerer en kopi af strengen med ledende og bageste hvidt mellemrum fjernet, eller den originale streng, hvis den ikke har noget ledende eller efterfølgende hvidt mellemrum.

3016567 14 1
3016567 14 1

Trin 2. Brug trim () -metoden for strengklassen på et strengobjekt til at trimme det hvide mellemrum

Bemærk, at trim () -metoden kaster en undtagelse, hvis strengen er null. Metoden trim () ændrer ikke indholdet i den originale streng, fordi strenge i Java er uforanderlige, hvilket betyder, at en strengs tilstand ikke kan ændres, efter at den er oprettet. Trim () -metoden vil snarere returnere en ny streng, der har sit mellemrum afskåret.

    Streng trimmetStr = str.trim ();

Trin 3. Prøv et eksempel

Her er et prøveprogram, der beskærer det hvide mellemrum i en streng:

    public class StringManipulation {public static void main (String args) {String str = "Hej!"; Streng trimmetStr = str.trim (); System.out.println ("Original streng er \" " + str +" / "."); System.out.println ("Trimmet streng er \" " + trimmedStr +" / "."); }}

Metode 5 af 5: Opdel en streng

3016567 16
3016567 16

Trin 1. Forstå, hvad det vil sige at dele en streng

Opdeling af en streng i Java betyder at opdele en streng med en bestemt afgrænser i en række substrings. For eksempel, hvis jeg opdelte strengen "rød, blå, grøn, gul, pink" med et komma som afgrænsning, ville jeg få arrayet "" rød "," blå "," grøn "," gul "," lyserød "}. Her er tre forskellige måder at dele en streng på.

3016567 17 1
3016567 17 1

Trin 2. Brug

StringTokenizer

for at symbolisere strengen.

Importere

java.util. StringTokenizer

. Opret derefter en ny forekomst af en

StringTokenizer

med strengen til tokenisering og afgrænsningen som parametre. Hvis du ikke angiver afgrænsningen som en parameter, vil afgrænseren automatisk angive hvidt mellemrum som standard. Når du har

StringTokenizer

du kan bruge

nextToken ()

metode til at få hvert token.

    import java.util. Arrays; import java.util. StringTokenizer; public class StringManipulation {public static void main (String args) {String str = "rød, grøn, blå, gul, pink"; StringTokenizer tokenizer = ny StringTokenizer (str, ","); int numberOfTokens = tokenizer.countTokens (); String splitArr = ny streng [numberOfTokens]; for (int i = 0; i <numberOfTokens; i ++) {splitArr = tokenizer.nextToken (); } System.out.println ("\ nOriginal streng:" + str); System.out.println ("Split Array:" + Arrays.toString (splitArr) + "\ n"); }}

  • Før Java 1.4,

    StringTokenizer

    klasse blev brugt til at dele strenge i Java. Men nu, brugen af

    StringTokenizer

    frarådes og brugen af

    dele()

    metode i

    Snor

    klasse eller brugen af

    java.util.regex

  • pakke opfordres.
3016567 18 1
3016567 18 1

Trin 3. Brug

Snor

klasse

dele()

metode.

Det

dele()

metode vil tage skilletegn som parametre og returnere en række sub-strenge, der er de samme som tokens fra

StringTokenizer

    import java.util. Arrays; public class StringManipulation {public static void main (String args) {String str = "rød, grøn, blå, gul, pink"; String splitArr = str.split (","); System.out.println ("\ nOriginal streng:" + str); System.out.println ("Split Array:" + Arrays.toString (splitArr) + "\ n"); }}

3016567 19 1
3016567 19 1

Trin 4. Brug regulære udtryk til at dele strengen

Importere

java.util.regex. Pattern

. Brug

udarbejde()

metode til

Mønster

klasse for at indstille afgrænseren og derefter give

dele()

metode den streng, du vil dele. Det

Mønster

vil returnere en vifte af underlag.

    import java.util. Arrays; import java.util.regex. Pattern; public class StringManipulation {public static void main (String args) {String str = "rød, grøn, blå, gul, pink"; String splitArr = Pattern.compile (",").split (str); System.out.println ("\ nOriginal streng:" + str); System.out.println ("Split Array:" + Arrays.toString (splitArr) + "\ n"); }}

3016567 20 1
3016567 20 1

Trin 5. Gennemgå dit output

Her er output, der er resultatet af en af disse metoder til opdeling af strenge.

Anbefalede: