SORU
28 Mayıs 2010, Cuma


Dize tek boşluk ile 2 veya daha fazla boşluk değiştirmek için nasıl Java ve silin alanlarda lider sadece

Hızlı, basit bir şekilde arayan bu dize değiştirmek için Java

" hello     there   "

bir şey için bu gibi görünüyor

"hello there"

tek bir boşluk ile birden çok boşluk yerine yerler dışında ben de dize başında bir veya daha fazla boşluk gitmek istiyorum.

Böyle bir şey kısmen beni oraya alır

String mytext = " hello     there   ";
mytext = mytext.replaceAll("( ) ", " ");

ama o kadar da değil.

CEVAP
28 Mayıs 2010, Cuma


Bunu deneyin:

String after = before.trim().replaceAll("  ", " ");

Ayrıca Bkz


trim() normal ifade

Aynı zamanda sadece bir tane ama bu replaceAll, trim() çözüm çok daha az okunabilir ile bunu yapmak için. Bununla birlikte, burada sadece normal ifadenin neler yapabileceğini göstermek için verilir

    String[] tests = {
        "  x  ",          // [x]
        "  1   2   3  ",  // [1 2 3]
        "",               // []
        "   ",            // []
    };
    for (String test : tests) {
        System.out.format("[%s]%n",
            test.replaceAll("^  |  $|( ) ", "$1")
        );
    }

3 alternatifler vardır:

  • ^_ : dize başında boşluk herhangi bir dizi
    • Ve boş dize yakalar $1 ile eşleşmeyi değiştir
  • _ $ : dize sonundaki boşlukları bir dizi
    • Ve boş dize yakalar $1 ile eşleşmeyi değiştir
  • (_) : hiçbiri, ortası anlamı ile eşleşen boşluk herhangi bir dizi
    • Ve tek bir boşluk yakalar $1 ile eşleşmeyi değiştir

Ayrıca Bkz

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ionized Digital Air Studios

    Ionized Digi

    20 HAZİRAN 2009
  • hidetake takayama

    hidetake tak

    3 Mart 2009
  • thelonelyisland

    thelonelyisl

    23 Aralık 2005