Von jse1.4
String
-Zwei split
Methoden sind neu. Die subSequence-Methode wurde hinzugefügt, wie von der CharSequence-Schnittstelle gefordert, die String jetzt implementiert. Drei weitere Methoden wurden hinzugefügt: matches
, replaceAll
und replaceFirst
.
Mit Java String.split(String regex, int limit)
mit Pattern.quote(String s)
Die Zeichenfolge "Boo: und: foo" zum Beispiel ergibt die folgenden Ergebnisse mit diesen Parametern:
Regex Limit Result
: 2 { "boo", "and:foo" }
: 5 { "boo", "and", "foo" }
: -2 { "boo", "and", "foo" }
o 5 { "b", "", ":and:f", "", "" }
o -2 { "b", "", ":and:f", "", "" }
o 0 { "b", "", ":and:f" }
String str = "abc?def,ghi?jkl,mno,pqr?stu,vwx?yz";
String quotedText = Pattern.quote("?");
// ? - \\? we have to escape sequence of some characters, to avoid use Pattern.quote("?");
String[] split = str.split(quotedText, 2); // ["abc", "def,ghi?jkl,mno,pqr?stu,vwx?yz"]
for (String string : split) {
System.out.println(string);
}
Ich habe Gesicht das gleiche Problem in URL-Parameter, Um es resoleve ich muss basierend auf ersten teilen ?
So dass die verbleibende Zeichenfolge Parameterwerte enthält und sie basierend auf &
aufgeteilt werden müssen.
String paramUrl = "https://www.google.co.in/search?q=encode+url&oq=encode+url";
String subURL = URLEncoder.encode(paramUrl, "UTF-8");
String myMainUrl = "http://example.com/index.html?url=" + subURL +"&name=chrome&version=56";
System.out.println("Main URL : "+ myMainUrl);
String decodeMainURL = URLDecoder.decode(myMainUrl, "UTF-8");
System.out.println("Main URL : "+ decodeMainURL);
String[] split = decodeMainURL.split(Pattern.quote("?"), 2);
String[] Parameters = split[1].split("&");
for (String param : Parameters) {
System.out.println(param);
}
Run Javascript on the JVM with Rhino/Nashorn «Mit String.prototype.split
Funktion des JavaScript:
var str = "abc?def,ghi?jkl,mno,pqr?stu,vwx?yz";
var parts = str.split(',');
console.log(parts); // (5) ["abc?def", "ghi?jkl", "mno", "pqr?stu", "vwx?yz"]
console.log(str.split('?')); // (5) ["abc", "def,ghi", "jkl,mno,pqr", "stu,vwx", "yz"]
var twoparts = str.split(/,(.+)/);
console.log(parts); // (3) ["abc?def", "ghi?jkl,mno,pqr?stu,vwx?yz", ""]
console.log(str.split(/\?(.+)/)); // (3) ["abc", "def,ghi?jkl,mno,pqr?stu,vwx?yz", ""]
Ich habe diesen Code versucht und arbeitete für mich @Razib korrigieren s zu strr. –