Delimiter w Stringu (parsowanie)

0

Siemanko! :)

Mam oto takie pytanie. Mam sparsować stringa, którego części są oddzielone znakiem pionowej kreski - takim jak poniżej:
|

Próbowałem robić to tak:

String output = "aaa | bbb | ccc";
String[] tmp = output.split("|");
		for (int i = 0; i < tmp.length; i++) {
			System.out.println(tmp[i]);
		}

ale niestety to nie działa, gdyż pionowa kreska jest znakiem specjalnym w wyrażeniach regularnych, a jeśli dam:

output.split("/|");

to mi wypluwa, że nie może być takiego delimitera.

Poratujecie? :)

0

a jakbyś do tego "płotka" dorzucił jeszcze jeden i dmuchnął na nie tak żeby się przewróciły na lewą stronę?

0

Nie wiem co masz na myśli.

Na pewno

output.split("|\");

także nie działa.

0

miałem na myśli split("\|");

0
import java.util.Arrays;

public class Main {

    public static void main(String[] args) {
        System.out.println(Arrays.toString("aaa | bbb | ccc".split("\\|")));
    }
}

http://download.oracle.com/javase/tutorial/essential/regex/pre_char_classes.html

Edit:
Zbyt wolny jestem :P

0

Dzięki

0

Można też tak:

        String s="aaa | bbb| ccc";
        StringTokenizer st=new StringTokenizer(s," |");
        while(st.hasMoreTokens())
        {
            String token=st.nextToken();
            System.out.println(token);
        }

Zadziała niezależnie od tego czy "|" ma za sąsiadów spacje, czy nie.

0

A takie coś też by zadziałało ?

split("[|]");

1 użytkowników online, w tym zalogowanych: 0, gości: 1