Java Stringmanipulatie met VOORBEELD
Wat zijn snaren in Java?
Een string is letterlijk een reeks karakters. Hé, zei je karakters, is het niet een primitief gegevenstype in Java. Ja, dus technisch gezien de basis Java String is in feite een array van tekens.
Dus mijn bovenstaande reeks van “ROSE"kan als volgt worden weergegeven:
Waarom strings gebruiken?
Een van de belangrijkste functies van de moderne informatica is het verwerken van menselijke taal.
Net zoals getallen belangrijk zijn voor wiskunde, zijn taalsymbolen belangrijk voor betekenis en besluitvorming. Hoewel het misschien niet zichtbaar is voor computergebruikers, verwerken computers taal op de achtergrond net zo nauwkeurig als een rekenmachine. Help-dialogen geven instructies. Menu's bieden keuzes. En gegevensweergaven tonen statussen, fouten en realtime wijzigingen in de taal.
Als Java programmeur, een van je belangrijkste tools voor het opslaan en verwerken van taal zal de klasse String zijn.
Voorbeelden van tekenreekssyntaxis
Laten we nu eens naar de syntaxis gaan, we moeten dit tenslotte inschrijven Java code is het niet.
String is een array van tekens, weergegeven als:
//String is an array of characters char[] arrSample = {'R', 'O', 'S', 'E'}; String strSample_1 = new String (arrSample);
In technische termen wordt de String in het bovenstaande voorbeeld als volgt gedefinieerd:
= new (argument);
Nu kunnen we onze strings niet altijd als arrays schrijven; vandaar dat we de String in kunnen definiëren Java als volgt:
//Representation of String String strSample_2 = "ROSE";
In technische termen wordt het bovenstaande weergegeven als:
= ;
Ocuco's Medewerkers String Klasse Java strekt the Objectklasse.
String aaneenschakeling:
Aaneenschakeling is het samenvoegen van twee of meer strings.
Kijk eens naar de onderstaande afbeelding-
We hebben twee snaren str1 = “Rock” en str2 = “Star”
Als we deze twee strings bij elkaar optellen, zou het resultaat str3= “RockStar” moeten zijn.
Controleer het onderstaande codefragment en hierin worden de twee methoden uitgelegd om tekenreeksaaneenschakeling uit te voeren.
De eerste is het gebruik van “concat” methode van String klasse en de tweede is het gebruik van de rekenkundige “+” operator. Beide resultaten in dezelfde output
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); } }
Verwachte resultaten:
RockStar RockStar
belangrijk Java string methoden:
Laten we het vragen Java Stel een paar vragen aan de klas en kijk of deze deze kan beantwoorden:
String “Lengte”-methode
Hoe bepaal je de lengte van een gegeven String? Ik heb een methode genaamd "lengte" gegeven. Gebruik het tegen de String die je nodig hebt om de lengte te vinden.
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());}}
Verwachte resultaten:
Length of String: 8
Tekenreeks “indexOf” Methode
Als ik de lengte ken, hoe kan ik dan ontdekken welk personage zich op welke positie bevindt? Kortom, hoe vind ik de index van een karakter?
Je hebt zelf geantwoord, vriend, er is een "indexOf" -methode waarmee je de locatie kunt bepalen van een specifiek teken dat je opgeeft.
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'));}}
Verwachte resultaten:
Character at position 5: t Index of character 'S': 4
String “charAt”-methode
Vergelijkbaar met de bovenstaande vraag, hoe ken ik, gegeven de index, het personage op die locatie?
Weer een simpele!! Gebruik de “charAt” methode en geef de index op waarvan u het teken wilt vinden.
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));}}
Verwachte resultaten:
Character at position 5: t
Tekenreeks “CompareTo”-methode
Wil ik controleren of de string die door een bepaalde methode is gegenereerd gelijk is aan iets waarmee ik wil verifiëren? Hoe vergelijk ik twee snaren?
Gebruik de methode “compareTo” en geef de String op die u wilt vergelijken.
Gebruik “compareToIgnoreCase” als u niet wilt dat het resultaat hoofdlettergevoelig is.
Het resultaat heeft de waarde 0 als de argumentstring gelijk is aan deze string; een waarde kleiner dan 0 als deze string lexicografisch kleiner is dan het stringargument; en een waarde groter dan 0 als deze string lexicografisch groter is dan het stringargument.
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"));}}
Verwachte resultaten:
Compare To 'ROCKSTAR': -32 Compare To 'ROCKSTAR' - Case Ignored: 0
String “Contain”-methode
Ik weet gedeeltelijk wat de string had moeten bevatten. Hoe kan ik bevestigen of de string een reeks tekens bevat die ik specificeer?
Gebruik de methode “bevat' en geef de tekens op die u moet controleren.
Retourneren waar als en slechts als deze string de opgegeven reeks char-waarden bevat.
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"));}}
Verwachte resultaten:
Contains sequence 'tar': true
Tekenreeks “endsWith” Methode
Hoe kan ik bevestigen of een string eindigt met een bepaald achtervoegsel? Je hebt het opnieuw beantwoord. Gebruik de methode “endsWith” en specificeer het achtervoegsel in de argumenten.
Retourneren waar als de tekenreeks die door het argument wordt vertegenwoordigd een achtervoegsel is van de tekenreeks die door dit object wordt vertegenwoordigd.
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"));}}
Verwachte resultaten:
EndsWith character 'r': true
Tekenreeks “replaceAll” & “replaceFirst” Methode
Ik wil mijn String op meerdere plaatsen aanpassen en meerdere delen van de String vervangen?
Java Tekenreeks Replace-, ReplaceAll- en ReplaceFirst-methoden. U kunt het deel van de String dat u wilt vervangen en de vervangende String opgeven in de 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"));}}
Verwachte resultaten:
Replace 'Rock' with 'Duke': DukeStar
Draad Java “kleine letters” & Java “Hoofdletter”-methode
Ik wil dat mijn hele string in kleine letters of in hoofdletters wordt weergegeven?
Gebruik gewoon de methoden “toLowercase()” of “ToUpperCase()” voor de tekenreeksen die moeten worden geconverteerd.
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());}}
Verwachte resultaten:
Convert to LowerCase: rockstar Convert to UpperCase: ROCKSTAR
Belangrijke aandachtspunten:
- String is een laatste klasse; dwz als de waarde eenmaal is gecreëerd, kan deze niet meer worden gewijzigd. String-objecten worden dus onveranderlijk genoemd.
- Ocuco's Medewerkers Java Virtual Machine (JVM) creëert een geheugenlocatie speciaal voor de zogenaamde Strings String constante pool. Daarom kan String worden geïnitialiseerd zonder 'nieuw' trefwoord.
- Stringklasse valt hieronder java.lang.String-hiërarchie. Maar het is niet nodig om deze klasse te importeren. Java platform levert ze automatisch.
- Draad verwijzing kan worden overschreven, maar daarmee wordt de inhoud niet verwijderd; dat wil zeggen, als
Tekenreeks h1 = “hallo”;
h1 = “hallo”+”wereld”;
dan wordt "hallo" String niet verwijderd. Het verliest gewoon zijn grip.
- Meerdere referenties kan worden gebruikt voor dezelfde String, maar dat zal wel zo zijn op dezelfde plaats voorkomen; dat wil zeggen, als
Tekenreeks h1 = “hallo”;
Tekenreeks h2 = “hallo”;
Tekenreeks h3 = “hallo”;
dan wordt er slechts één pool voor String “hello” in het geheugen aangemaakt met 3 referenties-h1,h2,h3
- Als een nummer staat vermeld in " " dan het wordt een string, geen nummer meer. Dat betekent als
String S1 =”Het nummer is: “+ “123”+”456″;
Systeem.uit.println(S1);
dan wordt afgedrukt: Het nummer is: 123456
Als de initialisatie als volgt is:
String S1 = “Het getal is: “+(123+456);
Systeem.uit.println(S1);
dan wordt afgedrukt: Het nummer is:579
Dat is alles voor Strings!