Strängar är sekvenser av karaktärer. Till exempel "Hej!" är en sträng eftersom den består av tecknen 'H', 'e', 'l', 'l', 'o' och '!'. I Java är strängar objekt, vilket innebär att det finns en strängklass som har fält och metoder. Vi kan använda strängklassens metoder för att manipulera strängar.
Steg
Metod 1 av 5: Skapa en sträng
Steg 1. Skapa en sträng med konstruktören för strängklassen
String str = new String ("Hej!");
Steg 2. Skapa en sträng genom att direkt tilldela en sträng
Steg 3. Prova ett exempel
Här är ett exempelprogram som skapar en sträng på två olika sätt.
public class StringManipulation {public static void main (String args) {String str1 = new String ("Sträng skapad med en konstruktör!"); String str2 = "Sträng skapad utan konstruktör!"; System.out.println (str1); System.out.println (str2); }}
Metod 2 av 5: Hitta längden på en sträng
Steg 1. Förstå vad det innebär att hitta längden på en sträng
Strängens längd är antalet tecken som strängen innehåller. Till exempel längden på strängen "Hej!" är 6 eftersom den har 6 tecken.
Steg 2. Åkalla
längd()
metod på String -objektet och lagra resultatet i en heltalsvariabel.
int strLength = str.length ();
Steg 3. Ge det en chans
Här är ett exempelprogram som hittar längden på en sträng.
public class StringManipulation {public static void main (String args) {String str = "Hej!"; int strLength = str.length (); System.out.println ("Längden på \" " + str +" / "är" + strLength + "."); }}
Metod 3 av 5: Omvänd en sträng
Steg 1. Förstå vad det innebär att vända en sträng
Att vända en sträng innebär att ändra ordningen på tecknen i en sträng. Till exempel baksidan av strängen "Hej!" är "! olleH". Det finns många sätt att vända en sträng i Java.
Steg 2. Använd omvänd metod för klassen StringBuffer
Skapa ett StringBuffer -objekt som tar in strängen som du vill backa som parameter. Använd metoden StringBuffers reverse () och hämta sedan den nyligen omvända strängen med toString () -metoden.
public class StringManipulation {public static void main (String args) {String str = "Hej!"; StringBuffer buffert = ny StringBuffer (str); String reversedStr = buffer.reverse (). ToString (); System.out.println ("Strängens baksida \" " + str +" / "är \" " + reversedStr +" / "."); }}
Steg 3. Iterera genom tecknen i en sträng i omvänd ordning, lägga till dessa tecken i en StringBuffer vid varje iteration
Skapa ett nytt StringBuffer -objekt initierat med längden på strängen som du vill backa som parameter. Använd sedan en for loop för att iterera genom strängen, med början från det sista tecknet i strängen och slutar med det första tecknet i strängen. Lägg till tecknet vid indexet i varje iteration till StringBuffer. Hämta den nyligen omvända strängen med metoden toString ().
public class StringManipulation {public static void main (String args) {String str = "Hej!"; StringBuffer buffert = 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 ("Strängens baksida \" " + str +" / "är \" " + reversedStr +" / "."); }}
Steg 4. Skriv en rekursiv funktion för att vända strängen
I den rekursiva funktionen är basfallet / villkoret om strängen är null eller om strängens längd är mindre än eller lika med ingen. Annars kallas omvänd () -metoden igen med strängen minus det första tecknet, och det första tecknet klibbas på i slutet. Så om vi skickade in strängen "Hej!", Kommer det första omvända () -samtalet efter det att ha parametern "ello!".
public class StringManipulation {public static void main (String args) {String str = "Hej!"; String reversedStr = reverse (str); System.out.println ("Strängens baksida \" " + str +" / "är \" " + reversedStr +" / "."); } privat statisk Sträng omvänd (String str) {if (str == null || str.length () <= 1) return str; return back (str.substring (1)) + str.charAt (0); }}
Steg 5. Konvertera strängen till en rad tecken och byt sedan den första och sista, andra och näst sista, etc
tecken. Konvertera först strängen till en rad tecken med hjälp av metoden toCharArray () på strängen. Få indexet för det sista tecknet i matrisen, vilket är lika med matrisens längd minus ett. Iterera sedan genom arrayen och byt ith tecken och indexOfLastChar - ith karaktär vid varje iteration. Slutligen konvertera teckenuppsättningen tillbaka till en sträng.
public class StringManipulation {public static void main (String args) {String str = "Hej!"; char charArray = str.toCharArray (); int indexOfLastChar = charArray.length - 1; för (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 ("Strängens baksida \" " + str +" / "är \" " + reversedStr +" / "."); }}
Steg 6. Granska din produktion
Här är utdata som är resultatet av någon av dessa metoder för strängomvändning.
Metod 4 av 5: Trimma vitt utrymme i en sträng
Steg 1. Förstå vad det innebär att trimma vitt utrymme i en sträng
Att trimma en sträng i Java innebär att ta bort det ledande och bakre vita utrymmet i strängen. Om du till exempel har strängen"
Hej världen!
"och du vill att den ska säga" Hej, värld! "utan det vita utrymmet i början och i slutet kan du trimma strängen. Strängklassen ger en metod för att trimma () som returnerar en kopia av strängen med ledande och bakre vitt utrymme tas bort eller originalsträngen om det inte har något ledande eller bakre vitt utrymme.
Steg 2. Använd trim () -metoden för strängklassen på ett String -objekt för att trimma det vita utrymmet
Observera att trim () -metoden gör ett undantag om strängen är null. Metoden trim () ändrar inte innehållet i den ursprungliga strängen eftersom strängar i Java är oföränderliga, vilket innebär att en strängs tillstånd inte kan ändras efter att den har skapats. Snarare kommer trim () -metoden att returnera en ny sträng som har sitt blanksteg trimmat av.
Sträng trimmadStr = str.trim ();
Steg 3. Prova ett exempel
Här är ett exempelprogram som trimmer det vita utrymmet i en sträng:
public class StringManipulation {public static void main (String args) {String str = "Hej!"; Sträng trimmadStr = str.trim (); System.out.println ("Originalsträngen är \" " + str +" / "."); System.out.println ("Trimmad sträng är \" " + trimmedStr +" / "."); }}
Metod 5 av 5: Dela en sträng
Steg 1. Förstå vad det innebär att dela en sträng
Att dela upp en sträng i Java innebär att dela en sträng med en viss avgränsare i en rad substrings. Om jag till exempel delar strängen "röd, blå, grön, gul, rosa" med ett kommatecken som avgränsare, skulle jag få matrisen {"röd", "blå", "grön", "gul", "rosa "}. Här är tre olika sätt att dela en sträng.
Steg 2. Använd
StringTokenizer
för att symbolisera strängen.
Importera
java.util. StringTokenizer
. Skapa sedan en ny instans av a
StringTokenizer
med strängen att tokenize och avgränsaren som parametrar. Om du inte anger avgränsaren som en parameter, kommer avgränsaren automatiskt att ställas in som vitt utrymme. Efter att du har
StringTokenizer
du kan använda
nextToken ()
metod för att få varje token.
importera java.util. Arrays; importera java.util. StringTokenizer; public class StringManipulation {public static void main (String args) {String str = "röd, grön, blå, gul, rosa"; StringTokenizer tokenizer = ny StringTokenizer (str, ","); int numberOfTokens = tokenizer.countTokens (); String splitArr = new String [numberOfTokens]; för (int i = 0; i <numberOfTokens; i ++) {splitArr = tokenizer.nextToken (); } System.out.println ("\ nOriginal sträng:" + str); System.out.println ("Split Array:" + Arrays.toString (splitArr) + "\ n"); }}
Innan Java 1.4,
StringTokenizer
klass användes för att dela strängar i Java. Men nu, användningen av
StringTokenizer
är avskräckt och användningen av
dela()
metod i
Sträng
klass eller användningen av
java.util.regex
Steg 3. Använd
Sträng
klassens
dela()
metod.
De
dela()
metoden tar in avgränsaren som parametern och returnerar en rad understrängar som är desamma som tokens från
StringTokenizer
importera java.util. Arrays; public class StringManipulation {public static void main (String args) {String str = "röd, grön, blå, gul, rosa"; String splitArr = str.split (","); System.out.println ("\ nOriginal sträng:" + str); System.out.println ("Split Array:" + Arrays.toString (splitArr) + "\ n"); }}
Steg 4. Använd reguljära uttryck för att dela strängen
Importera
java.util.regex. Pattern
. Använd
sammanställa()
metod för
Mönster
klass för att ställa in avgränsaren och sedan ge
dela()
metod strängen som du vill dela. De
Mönster
kommer att returnera en rad substrings.
importera java.util. Arrays; importera java.util.regex. Pattern; public class StringManipulation {public static void main (String args) {String str = "röd, grön, blå, gul, rosa"; String splitArr = Pattern.compile (",").split (str); System.out.println ("\ nOriginal sträng:" + str); System.out.println ("Split Array:" + Arrays.toString (splitArr) + "\ n"); }}
Steg 5. Granska din produktion
Här är utmatningen som följer av någon av dessa metoder för att dela strängar.