web-dev-qa-db-fra.com

Slice String en Java

Comment slice string en java? Je reçois des lignes de csv, et xls, et il y a par exemple des données dans la cellule est comme 

14.015_AUDI

Comment puis-je dire à Java qu'il ne doit regarder que partiellement avant _? Donc, après avoir manipulé, je dois avoir 14.015. Dans Rails, je vais le faire avec gsub, mais comment faire en java? 

11
byCoder

Vous pouvez utiliser String#split :

String s = "14.015_AUDI";
String[] parts = s.split("_"); //returns an array with the 2 parts
String firstPart = parts[0]; //14.015

Vous devez ajouter une vérification d'erreur (que la taille du tableau est comme prévu par exemple)

18
assylias

Au lieu de split qui crée une nouvelle liste et est copié deux fois, j'utiliserais une sous-chaîne qui fonctionne sur la chaîne d'origine et ne crée pas de nouvelles chaînes

String s = "14.015_AUDI";
String firstPart = s.substring(0, s.indexOf("_"));
12
Masood_mj
String str = "14.015_AUDI";
String [] parts = str.split("_");

String numberPart = parts[0];
String audi = parts[1];
4
Balázs Édes

Goyave a Splitter

List<String> pieces = Splitter.on("_").splitToList("14.015_AUDI");
String numberPart = parts.get(0);
String audi = parts.get(1);
0
Kurru

Devrait être plus court:

"14.015_AUDI".split("_")[0];
0
Zon