2012-11-02 29 views
10

Mam plik zawierający linie tego typu:Parse String z separatora symbolu w tablicy

"Andorra la Vella | reklama | Andora | 20430 | 42.51 | 1.51"

I w zasadzie tylko chcesz mieć tablicę ciągów zawierającą wpisy między | Separator:

[ "Andora", "reklama", "Andora", "20430", "42.51", "1.51"]

Można to zrobić z wyrażeń regularnych?

Odpowiedz

23

Tak, użyj String.split() dla każdego wiersza podczas czytania go z pliku.

line.split("\\|"); 
+0

działa dobrze. dzięki! – gaussd

+0

Ale @ pangea możesz wyjaśnić, dlaczego musimy dodać, że "\\"? – chiranjeevigk

+0

@chiranjeevibmse Prawdopodobnie już się o tym dowiedziałeś: '|' musi zostać zmienione, ponieważ split oczekuje wartości regex, a nie łańcucha, a '|' jest zarezerwowaną postacią w regex. http://www.regular-expressions.info/characters.html –

13

Alternatywą jest użycie String.split(...)

String s="Hi farshad zeinali/ how are you?/i have a question!/can you help me?"; 
String[] ss=s.split("/"); 
for(int i=0;i<ss.length;i++) 
{ 
    System.out.println(ss[i]); 
} 
+0

Ta odpowiedź jest bardzo kwalifikowana, a powyższe akceptowane. – weefwefwqg3