Java Strängmanipulation med EXEMPEL

Vad är strängar i Java?

En sträng i bokstavliga termer är en serie tecken. Hej, sa du tecken, är det inte en primitiv datainmatning Java. Ja, så i tekniska termer, det grundläggande Java Sträng är i grunden en rad tecken.

Så min ovanstående sträng av "ROSE” kan representeras som följande –

Java Sträng

Varför använda Strings?

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

På samma sätt som 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 lika exakt och exakt som en miniräknare. Hjälpdialoger ger instruktioner. Menyer ger val. Och dataskärmar visar status, fel och realtidsändringar av språket.

Som en Java programmerare, ett av dina huvudverktyg för att lagra och bearbeta språk kommer att vara String-klassen.

Exempel på strängsyntax

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

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

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

I tekniska termer definieras strängen enligt följande i exemplet ovan-

= new (argument);

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

//Representation of String
String strSample_2 = "ROSE";

I tekniska termer representeras ovanstående som:

= ;

Ocuco-landskapet Strängklass Java sträcker d Objektklass.

Strängsammansättning:

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

Ta en titt på bilden nedan-

Exempel på strängsyntax

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

Om vi ​​lägger ihop dessa två strängar bör vi få resultatet som str3= “RockStar”.

Kontrollera kodavsnittet nedan, och det förklarar de två metoderna för att utföra strängsammansättning.

Först använder man "concat"-metoden för String-klassen och andra använder den aritmetiska "+"-operatorn. Båda resulterar i samma utdata

public class Sample_String{
  public static void main(String[] args){
//String Concatenation
String str1 = "Rock";
String str2 = "Star";
//Method 1 : Using concat
String str3 = str1.concat(str2);
System.out.println(str3);
//Method 2 : Using "+" operator
String str4 = str1 + str2;
System.out.println(str4);
}
}

Förväntad produktion:

RockStar
RockStar

Viktigt Java strängmetoder:

Java strängmetoder

Låt oss fråga Java Ställ några frågor och se om den kan svara på dem:

Sträng "Längd" metod

Hur kommer du att bestämma 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.

public class Sample_String{
  public static void main(String[] args){  //Our sample string for this tutorial
  String str_Sample = "RockStar";
  //Length of a String
  System.out.println("Length of String: " + str_Sample.length());}}

Förväntad produktion:

Length of String: 8

Sträng "indexOf"-metoden

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 dig själv, kompis, det finns en "indexOf"-metod som hjälper dig att bestämma platsen för en specifik karaktär som du anger.

public class Sample_String{
  public static void main(String[] args){//Character at position
String str_Sample = "RockStar";
System.out.println("Character at position 5: " + str_Sample.charAt(5));
//Index of a given character
System.out.println("Index of character 'S': " + str_Sample.indexOf('S'));}}

Förväntad produktion:

Character at position 5: t
Index of character 'S': 4

Sträng "charAt" metod

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

Enkelt igen!! Använd metoden "charAt" och ange indexet vars karaktär du behöver hitta.

public class Sample_String{
  public static void main(String[] args){//Character at position
String str_Sample = "RockStar";
System.out.println("Character at position 5: " + str_Sample.charAt(5));}}

Förväntad produktion:

Character at position 5: t

Sträng "CompareTo"-metoden

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

Använd metoden "compareTo" och ange strängen 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 denna sträng; ett värde mindre än 0 om denna sträng ä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.

public class Sample_String{
  public static void main(String[] args){//Compare to a String
String str_Sample = "RockStar";
  System.out.println("Compare To 'ROCKSTAR': " + str_Sample.compareTo("rockstar"));
  //Compare to - Ignore case
  System.out.println("Compare To 'ROCKSTAR' - Case Ignored: " + str_Sample.compareToIgnoreCase("ROCKSTAR"));}}

Förväntad produktion:

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

Sträng "Contain"-metoden

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

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

Returer sann om och endast om denna sträng innehåller den angivna sekvensen av char-värden.

public class Sample_String{
  public static void main(String[] args){  //Check if String contains a sequence
String str_Sample = "RockStar";
  System.out.println("Contains sequence 'tar': " + str_Sample.contains("tar"));}}

Förväntad produktion:

Contains sequence 'tar': true

Sträng "endsWith"-metoden

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

Returer sann om teckensekvensen som representeras av argumentet är ett suffix av teckensekvensen som representeras av detta objekt.

public class Sample_String{
  public static void main(String[] args){  //Check if ends with a particular sequence
String str_Sample = "RockStar";
  System.out.println("EndsWith character 'r': " + str_Sample.endsWith("r"));}}

Förväntad produktion:

EndsWith character 'r': true

Sträng "replaceAll" & "replaceFirst" metod

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

Java String Replace, replaceAll och replaceFirst metoder. Du kan ange den del av strängen du vill ersätta och ersättningssträngen i argumenten.

public class Sample_String{
  public static void main(String[] args){//Replace Rock with the word Duke
String str_Sample = "RockStar";
System.out.println("Replace 'Rock' with 'Duke': " + str_Sample.replace("Rock", "Duke"));}}

Förväntad produktion:

Replace 'Rock' with 'Duke': DukeStar

Sträng Java "små bokstäver" & Java Metod med "stora bokstäver".

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

Använd bara metoderna "toLowercase()" eller "ToUpperCase()" mot strängarna som behöver konverteras.

public class Sample_String{
  public static void main(String[] args){//Convert to LowerCase
String str_Sample = "RockStar";
System.out.println("Convert to LowerCase: " + str_Sample.toLowerCase());
//Convert to UpperCase
System.out.println("Convert to UpperCase: " + str_Sample.toUpperCase());}}

Förväntad produktion:

Convert to LowerCase: rockstar
Convert to UpperCase: ROCKSTAR

Viktiga punkter att notera:

  • String är en finalklass; dvs när värdet väl har skapats kan det inte ändras. Stringobjekt kallas alltså oföränderliga.
  • Ocuco-landskapet Java Virtual Machine(JVM) skapar en minnesplats speciellt för anropade strängar String Constant Pool. Det är därför String kan initieras utan "nytt" nyckelord.
  • Strängklass faller under java.lang.String hierarki. Men det finns inget behov av att importera den här klassen. Java plattformen tillhandahåller dem automatiskt.
  • Sträng referens kan åsidosättas men det tar inte bort innehållet; dvs om

Sträng h1 = "hej";

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

då raderas inte "hej" String. Den tappar bara greppet.

  • Flera referenser kan användas för samma sträng men det kommer förekommer på samma plats; dvs om

Sträng h1 = "hej";

Sträng h2 = "hej";

Sträng h3 = "hej";

då skapas bara en pool för String "hej" i minnet med 3 referenser-h1,h2,h3

  • Om en nummer anges i " " sedan det blir ett snöre, inte ett nummer längre. Det betyder om

String S1 =”Numret är: “+ “123”+”456″;

Systemet.ut.println(S1);

sedan kommer det att skrivas ut: Numret är: 123456

Om initieringen är så här:

String S1 = "Numret är: "+(123+456);

System.out.println(S1);

sedan kommer det att skrivas ut: Numret är:579

Det är allt till Strings!