Java String Manipulation: Funktioner och metoder med EXEMPEL

Innehållsförteckning:

Anonim

Vad är strängar?

En sträng i bokstavliga termer är en serie tecken. Hej, sa du tecken, är det inte en primitiv datatyp i Java. Ja, så tekniskt sett är den grundläggande Java-strängen i grunden en rad tecken.

Så min ovannämnda sträng av " ROSE " kan representeras som följande -

I den här handledningen lär du dig-

  • Vad är strängar?
  • Varför använda strängar?
  • Exempel på strängsyntax
  • Strängsammankoppling
  • Viktiga Java-strängmetoder

Varför använda strängar?

En av de viktigaste funktionerna för modern datavetenskap är att bearbeta mänskligt språk.

På samma sätt som hur siffror är viktiga för matematik är språksymboler viktiga för mening och beslutsfattande. Även om det kanske inte är synligt för datoranvändare, bearbetar datorer språk i bakgrunden så exakt och exakt som en räknare. Hjälpdialoger ger instruktioner. Menyer ger val. Och datadisplayer visar status, fel och ändringar av språket i realtid.

Som en Java-programmerare kommer ett av dina huvudverktyg för lagring och bearbetning av språk att vara strängklassen.

Exempel på strängsyntax

Nu, låt oss komma till lite syntax, trots allt måste vi skriva detta i Java-kod är det inte.

Sträng är en rad tecken, representerad som:

//String is an array of characterschar[] arrSample = {'R', 'O', 'S', 'E'};String strSample_1 = new String (arrSample);

I tekniska termer definieras strängen enligt följande i ovanstående exempel-

= new (argument);

Nu kan vi alltid inte skriva våra strängar som matriser; därför kan vi definiera strängen i Java enligt följande:

//Representation of StringString strSample_2 = "ROSE";

I tekniska termer representeras ovanstående som:

= ;

Den strängklassen Java utökar den klassen Object.

Strängsammankoppling:

Sammankoppling är sammanfogning av två eller flera strängar.

Ta en titt på bilden nedan-

Vi har två strängar str1 = “Rock” och str2 = “Star”

Om vi ​​lägger till dessa två strängar borde vi ha ett resultat som str3 = “RockStar”.

Kontrollera nedanstående kodavsnitt och det förklarar de två metoderna för att utföra strängkompatering.

Först använder vi " concat " -metoden i strängklass och den andra använder aritmetisk "+" -operator. Båda ger samma resultat

offentlig klass Sample_String {public static void main (String [] args) {// SträngsammankopplingString str1 = "Rock";String str2 = "Star";// Metod 1: Använda concatSträng str3 = str1.concat (str2);System.out.println (str3);// Metod 2: Använd "+" -operatörenSträng str4 = str1 + str2;System.out.println (str4);}}

Viktiga Java-strängmetoder:

Låt oss ställa Java String-klassen några frågor och se om den kan svara på dem.)

Strängmetod "Längd"

Hur bestämmer du längden på en given sträng? Jag har tillhandahållit en metod som kallas ”längd”. Använd den mot strängen du behöver för att hitta längden.

offentlig klass Sample_String {public static void main (String [] args) {// Vår exempelsträng för den här självstudienSträng str_Sample = "RockStar";// Strängens längdSystem.out.println ("Strängens längd: + str_Sample.length ());}}

produktion:

Length of String: 8

Sträng "indexOf" -metod

Om jag vet längden, hur skulle jag hitta vilken karaktär som är i vilken position? Kort sagt, hur hittar jag indexet för en karaktär?

Du svarade själv, kompis, det finns en “indexOf” -metod som hjälper dig att bestämma platsen för ett specifikt tecken som du anger.

offentlig klass Sample_String {public static void main (String [] args) {// Karaktär vid positionSträng str_Sample = "RockStar";System.out.println ("Tecken vid position 5: + str_Sample.charAt (5));// Index över en viss karaktärSystem.out.println ("Index för tecken 'S': + str_Sample.indexOf ('S'));}}

Produktion:

Character at position 5: tIndex of character 'S': 4

Sträng "charAt" -metod

I likhet med ovanstående fråga, med tanke på indexet, hur känner jag karaktären på den platsen?

Enkel igen !! Använd metoden “charAt” och ange index vars karaktär du behöver hitta.

offentlig klass Sample_String {public static void main (String [] args) {// Karaktär vid positionSträng str_Sample = "RockStar";System.out.println ("Tecken vid position 5: + str_Sample.charAt (5));}}

Produktion:

Character at position 5: t

String "CompareTo" -metod

Vill jag kontrollera om strängen som genererades med någon metod är lika med något som jag vill verifiera med? Hur jämför jag två strängar?

Använd metoden "jämför" och ange den sträng som du vill jämföra.

Använd “CompareToIgnoreCase” om du inte vill att resultatet ska vara skiftlägeskänsligt.

Resultatet kommer att ha värdet 0 om argumentsträngen är lika med den här strängen; ett värde mindre än 0 om den här strängen är lexikografiskt mindre än strängargumentet; och ett värde större än 0 om denna sträng är lexikografiskt större än strängargumentet.

offentlig klass Sample_String {public static void main (String [] args) {// Jämför med en strängSträng str_Sample = "RockStar";System.out.println ("Jämför med" ROCKSTAR ": + str_Sample.compareTo ("rockstar"));// Jämför med - Ignorera fallSystem.out.println ("Jämför med" ROCKSTAR "- Fall ignoreras: + str_Sample.compareToIgnoreCase ("ROCKSTAR"));}}

Produktion:

Compare To 'ROCKSTAR': -32Compare To 'ROCKSTAR' - Case Ignored: 0

Sträng "Innehåll" -metod

Jag vet delvis vad strängen borde innehålla, hur bekräftar jag om strängen innehåller en sekvens av tecken jag anger?

Använd metoden "innehåller" och ange de tecken du behöver kontrollera.

Returnerar true om och endast om den här strängen innehåller den angivna sekvensen av char-värden.
offentlig klass Sample_String {public static void main (String [] args) {// Kontrollera om String innehåller en sekvensSträng str_Sample = "RockStar";System.out.println ("Innehåller sekvens 'tar': + str_Sample.contains ("tar"));}}

Produktion:

Contains sequence 'tar': true

Sträng "slutar med" -metoden

Hur bekräftar jag om en sträng slutar med ett visst suffix? Återigen svarade du det. Använd metoden “endsWith” och ange suffixet i argumenten.

Returnerar sant om teckensekvensen som representeras av argumentet är ett suffix av teckensekvensen som representeras av detta objekt.
offentlig klass Sample_String {public static void main (String [] args) {// Kontrollera om det slutar med en viss sekvensSträng str_Sample = "RockStar";System.out.println ("EndsWith tecken 'r': + str_Sample.endsWith ("r"));}}

Produktion:

EndsWith character 'r': true

Sträng "Ersätt alla" och "ersätt först" -metoden

Jag vill ändra min sträng på flera ställen och ersätta flera delar av strängen?

Java String Ersätt, ersätt Alla och ersätt Första metoder. Du kan ange den del av strängen du vill ersätta och ersättningssträngen i argumenten.

offentlig klass Sample_String {public static void main (String [] args) {// Ersätt Rock med ordet DukeSträng str_Sample = "RockStar";System.out.println ("Ersätt" Rock "med" Duke ": + str_Sample.replace ("Rock", "Duke"));}}

Produktion:

Replace 'Rock' with 'Duke': DukeStar

Sträng Java "tolowercase" & Java "touppercase" Metod

Jag vill att hela min sträng ska visas i gemener eller versaler?

Använd bara metoderna “toLowercase ()” eller “ToUpperCase ()” mot de strängar som behöver konverteras.

offentlig klass Sample_String {public static void main (String [] args) {// Konvertera till LowerCaseSträng str_Sample = "RockStar";System.out.println ("Konvertera till LowerCase: + str_Sample.toLowerCase ());// Konvertera till UpperCaseSystem.out.println ("Konvertera till UpperCase: + str_Sample.toUpperCase ());}}

Produktion:

Convert to LowerCase: rockstarConvert to UpperCase: ROCKSTAR

Viktiga punkter att notera:

  • Sträng är en sista klass ; dvs. när värdet väl skapats kan värdet inte ändras. Således kallas strängföremål oföränderliga.
  • Java Virtual Machine (JVM) skapar en minnesplats särskilt för strängar som heter String Constant Pool . Det är därför String kan initieras utan "nytt" nyckelord.
  • Strängklass faller under java.lang.Stränghierarki . Men det finns inget behov av att importera den här klassen. Java-plattformen tillhandahåller dem automatiskt.
  • Strängreferens kan åsidosättas men det raderar inte innehållet ; dvs. om

Sträng h1 = "hej";

h1 = "hej" + "värld";

då raderas inte "hej". Det tappar bara handtaget.

  • Flera referenser kan användas för samma sträng men de kommer att förekomma på samma plats ; dvs. om

Sträng h1 = "hej";

Sträng h2 = "hej";

Sträng h3 = "hej";

då skapas bara en pool för sträng “hej” i minnet med 3 referenser-h1, h2, h3

  • Om ett antal citeras i ”” då det blir en sträng , inte ett nummer längre. Det betyder om

Sträng S1 = "Siffran är: + "123" + "456";

Systemet. ut .println (S1);

då kommer det att skrivas ut: Numret är: 123456

Om initialiseringen är så här:

Sträng S1 = "Siffran är: + (123 + 456);

Systemet. ut .println (S1);

då kommer det att skrivas ut: Numret är: 579 Det är allt för strängar!