2017-10-05 1 views
0

Désolé pour ma question noob .. J'ai cordes avec des lignes multpileComment faire pour obtenir 2d array à partir de plusieurs lignes String?

chaîne est comme ceci:

1 kave Topli napitci 7 
2 sokovi Sokovi 12 
3 pive Pive 14 
4 žestice  Domaæa Žestoka P 16 
7 ostalo Hrana 50 
8 vino Vino 33 
9 6 Strana Žestoka P 34 

Ce que je veux tableau 2d pour chaque mot.

je fais quelque chose comme ceci:

String[] lines =string.split(System.lineSeparator()); 

String[] parts = string[0].split("\t"); 
String[] parts1 = string[1].split("\t"); 
String[] parts2 = string[2].split("\t"); .... 

S'il vous plaît aider comment faire dans le tableau 2d.

+0

Utilisez une boucle for pour naviguer dans le tableau 'lines'. – Compass

+0

Pouvez-vous montrer une sortie de code s'il vous plaît monsieur? –

+0

@NikolaBozic est cette chaîne dans un fichier? Ou est-ce attribué à une variable de votre programme? – ClarksonDev

Répondre

1
List<String[]> lines = Arrays.stream(string.split(System.lineSeparator())).map(line -> line.split("\t")).collect(Collectors.toList()); 
lines.toArray(new String[lines.size()][]); 
0

Je pense qu'il serait préférable d'affecter les valeurs directement au tableau (mais utiliser ArrayList) lors de l'analyse du fichier avec quelque chose comme ceci:

ArrayList<String[]> array = new ArrayList<String[]>; 

while (file.hasNextLine()) { 
    String str = file.nextLine(); 
    String[] strArr = str.split("\t"); 
    array.add(strArr); 
} 

Cela devrait vous donner une ArrayList remplie avec des tableaux de chaînes divisés au niveau du délimiteur "\t".

+1

Ouais mais cette chaîne n'est pas un fichier complet, le fichier complet a beaucoup plus de lignes, cette chaîne est coupée du fichier wholw. –