Uttrekking av Informasjon fra Strenger i Java
Sveip for å vise menyen
Når du arbeider med tekst i virkelige applikasjoner, trenger du sjelden hele strengen — som regel trenger du bare en liten del av den. Et navn inne i en e-post, et produkt i en bestillingsmelding, eller et spesifikt nøkkelord skjult i en setning. Java gir oss enkle, men kraftige verktøy for å hente ut akkurat det vi trenger.
substring()
Hvis du trenger å ta et "utdrag" av en streng basert på tegnposisjoner, bruk .substring(). Den benytter nullindeksering — tellingen starter fra 0. Den returnerer en ny String.
Main.java
123456789101112package com.example; public class Main { public static void main(String[] args) { String order = "Large Latte with oat milk"; String drinkName = order.substring(6, 11); System.out.println(drinkName); } }
substring(6, 11) forteller Java å starte på indeks 6 (inkludert) og stoppe rett før indeks 11 (ekskludert) — henter ut tegnene på posisjonene 6 til og med 10, som gir oss "Latte".
Hvis du bruker substring(start) med bare ett argument, henter Java ut alt fra den posisjonen til slutten av strengen:
order.substring(6); // "Latte with oat milk"
indexOf()
Hvis du trenger å finne hvor en bestemt tekst befinner seg i en streng, bruk .indexOf(). I stedet for å kutte tekst, lokaliserer den teksten. Den returnerer en int som representerer startindeksen til treffet.
Main.java
123456789101112package com.example; public class Main { public static void main(String[] args) { String order = "Large Latte with oat milk"; int lattePosition = order.indexOf("Latte"); System.out.println(lattePosition); } }
Java skanner strengen fra venstre mot høyre til den finner "Latte" og returnerer posisjonen til det første tegnet — 6. Hvis teksten ikke finnes noe sted i strengen, returnerer Java -1.
Kombinere begge — ekte eksempel
Dette virkelige eksempelet kombinerer indexOf() og substring() for å hente ut et brukernavn fra en e-postadresse.
Main.java
1234567891011121314package com.example; public class Main { public static void main(String[] args) { String customerEmail = "anna.coffee@gmail.com"; int atPosition = customerEmail.indexOf("@"); String username = customerEmail.substring(0, atPosition); System.out.println(username); } }
indexOf("@") finner posisjonen til @-symbolet, deretter trekker substring(0, atPosition) ut alt fra starten av strengen opp til — men ikke inkludert — @. Resultatet er "anna.coffee". I stedet for å hardkode posisjoner, lar vi Java finne grensen og trekke ut nøyaktig det vi trenger.
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
Uttrekking av Informasjon fra Strenger i Java
Når du arbeider med tekst i virkelige applikasjoner, trenger du sjelden hele strengen — som regel trenger du bare en liten del av den. Et navn inne i en e-post, et produkt i en bestillingsmelding, eller et spesifikt nøkkelord skjult i en setning. Java gir oss enkle, men kraftige verktøy for å hente ut akkurat det vi trenger.
substring()
Hvis du trenger å ta et "utdrag" av en streng basert på tegnposisjoner, bruk .substring(). Den benytter nullindeksering — tellingen starter fra 0. Den returnerer en ny String.
Main.java
123456789101112package com.example; public class Main { public static void main(String[] args) { String order = "Large Latte with oat milk"; String drinkName = order.substring(6, 11); System.out.println(drinkName); } }
substring(6, 11) forteller Java å starte på indeks 6 (inkludert) og stoppe rett før indeks 11 (ekskludert) — henter ut tegnene på posisjonene 6 til og med 10, som gir oss "Latte".
Hvis du bruker substring(start) med bare ett argument, henter Java ut alt fra den posisjonen til slutten av strengen:
order.substring(6); // "Latte with oat milk"
indexOf()
Hvis du trenger å finne hvor en bestemt tekst befinner seg i en streng, bruk .indexOf(). I stedet for å kutte tekst, lokaliserer den teksten. Den returnerer en int som representerer startindeksen til treffet.
Main.java
123456789101112package com.example; public class Main { public static void main(String[] args) { String order = "Large Latte with oat milk"; int lattePosition = order.indexOf("Latte"); System.out.println(lattePosition); } }
Java skanner strengen fra venstre mot høyre til den finner "Latte" og returnerer posisjonen til det første tegnet — 6. Hvis teksten ikke finnes noe sted i strengen, returnerer Java -1.
Kombinere begge — ekte eksempel
Dette virkelige eksempelet kombinerer indexOf() og substring() for å hente ut et brukernavn fra en e-postadresse.
Main.java
1234567891011121314package com.example; public class Main { public static void main(String[] args) { String customerEmail = "anna.coffee@gmail.com"; int atPosition = customerEmail.indexOf("@"); String username = customerEmail.substring(0, atPosition); System.out.println(username); } }
indexOf("@") finner posisjonen til @-symbolet, deretter trekker substring(0, atPosition) ut alt fra starten av strengen opp til — men ikke inkludert — @. Resultatet er "anna.coffee". I stedet for å hardkode posisjoner, lar vi Java finne grensen og trekke ut nøyaktig det vi trenger.
Takk for tilbakemeldingene dine!