J'écrivais Java pour la première fois depuis longtemps, et quand j'ai essayé de séparer les chaînes de caractères avec .
, j'en étais légèrement accro.
Python ressemble à ceci.
hoge = '172.0.0.1'
fuga = hoge.split('.') # => ['172', '0', '0', '1']
En Java avec le même sentiment
String hoge = "172.0.0.1";
String[] fuga = hoge.split(".");
Si vous écrivez, un tableau de longueur 0 sera renvoyé.
La cause est que Java split prend une chaîne de modèle comme argument.
.
Correspond à n'importe quel caractère unique. (..) φ mémo mémo
String hoge = "172.0.0.1";
String[] fuga = hoge.split("7."); // => ["1", ".0.0.1"]
Si vous vous attendez au même comportement que Python:
import java.util.regex.Pattern;
String hoge = "172.0.0.1";
String[] fuga = hoge.split(Pattern.quote("."));
Recommended Posts