SORU
29 Mayıs 2012, Salı


Yarma boru sembol kullanarak split ile bir Java String("|")

Java resmi belgelere durumları:

"boo:and:foo", örneğin, aşağıdaki sonuçları verir bu ifadeleri ile dize Normal İfadenin Sonucu :

{ "boo", "and", "foo" }"

Ve bu işe ihtiyacım var. Eğer bu kaçarsam ancak:

public static void main(String[] args){
        String test = "A|B|C||D";

        String[] result = test.split("|");

        for(String s : result){
            System.out.println(">" s "<");
        }
    }

yazdırır:

><
>A<
>|<
>B<
>|<
>C<
>|<
>|<
>D<

Beklediğim uzak:

>A<
>B<
>C<
><
>D<

Neden böyle oluyor?

Şimdiden teşekkürler

CEVAP
29 Mayıs 2012, Salı


Gerekir

test.split("\\|");

split düzenli ifade kullanırnormal ifade| karakter OR operatör temsil ediyor. Bu karakter \ (\ beri "\\" da Dize hazır bilgileri meta karakter ve \ başka bir kaçış için ihtiyaç olduğu gibi Dize yazılmış) kurtulmak gerekir.

Ayrıca kullanabilirsiniz

test.split(Pattern.quote("|"));

ve Pattern.quote düzenli kaçak sürüm | temsil yaratalım.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • NLthomas21

    NLthomas21

    20 Mayıs 2008
  • RogerBuckChrist

    RogerBuckChr

    9 Temmuz 2011
  • FusioNGamiing

    FusioNGamiin

    10 Temmuz 2007