Metoden Java String split () delar upp strängen vid den angivna regexen och returnerar en matris med understrängar.
Syntaxen för strängmetoden split()
är:
string.split(String regex, int limit)
Här är sträng ett objekt i String
klassen.
split () Parametrar
Strängmetoden split()
kan ta två parametrar:
- regex - strängen är uppdelad vid denna regex (kan vara strängar)
- gräns (valfritt) - styr antalet resulterande underlag
Om limit
parametern inte passeras split()
returnerar alla möjliga delsträngar.
split () Returvärde
- returnerar en matris av underlag
Obs! Om det reguljära uttrycket som skickas till split()
är ogiltigt, ger split()
metoden PatternSyntaxExpression
undantag.
Exempel 1: split () Utan gräns Parameter
// importing Arrays to convert array to string // used for printing arrays import java.util.Arrays; class Main ( public static void main(String() args) ( String vowels = "a::b::c::d:e"; // splitting the string at "::" // storing the result in an array of strings String() result = vowels.split("::"); // converting array to string and printing it System.out.println("result = " + Arrays.toString(result)); ) )
Produktion
resultat = (a, b, c, d: e)
Här delar vi strängen på ::
. Eftersom limit
parametern inte passeras innehåller den returnerade matrisen alla understrängar.
split () Med gränsparameter
- Om
limit
parametern är 0 eller negativ,split()
returneras en matris som innehåller alla understrängar. - Om
limit
parametern är positiv (låt oss sägan
),split()
returnerar maximaltn
delsträngar.
Exempel 2: dela () med gränsparameter
// importing Arrays to convert array to string import java.util.Arrays; class Main ( public static void main(String() args) ( String vowels = "a:bc:de:fg:h"; // splitting array at ":" // limit is -2; array contins all substrings String() result = vowels.split(":", -2); System.out.println("result when limit is -2 = " + Arrays.toString(result)); // limit is 0; array contains all substrings result = vowels.split(":", 0); System.out.println("result when limit is 0 = " + Arrays.toString(result)); // limit is 2; array contains a maximum of 2 substrings result = vowels.split(":", 2); System.out.println("result when limit is 2 = " + Arrays.toString(result)); // limit is 4; array contains a maximum of 4 substrings result = vowels.split(":", 4); System.out.println("result when limit is 4 = " + Arrays.toString(result)); // limit is 10; array contains a maximum of 10 substrings result = vowels.split(":", 10); System.out.println("result when limit is 10 = " + Arrays.toString(result)); ) )
Produktion
resultat när gräns är -2 = (a, bc, de, fg, h) resultat när gräns är 0 = (a, bc, de, fg, h) resultat när gräns är 2 = (a, bc: de: fg: h) resultat när gränsen är 4 = (a, bc, de, fg: h) resultat när gränsen är 10 = (a, bc, de, fg, h)
Obs: Den split () metoden tar regex som det första argumentet. Om du behöver använda specialtecken som: ,
|
, ^
, *
, +
etc, måste du fly dessa tecken. Till exempel måste vi använda för \+
att dela på +
.
Exempel 3: dela () vid + -tecknet
// importing Arrays to convert array to string // used for printing arrays import java.util.Arrays; class Main ( public static void main(String() args) ( String vowels = "a+e+f"; // splitting the string at "+" String() result = vowels.split("\+"); // converting array to string and printing it System.out.println("result = " + Arrays.toString(result)); ) )
Produktion
resultat = (a, e, f)
Här, för att dela en sträng på +
, har vi använt \+
. Det beror på att det +
är en speciell karaktär (har en speciell betydelse i reguljära uttryck).