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

  • Chriselle Lim

    Chriselle Li

    26 Ocak 2008
  • incognitotraveler

    incognitotra

    27 Mayıs 2010
  • Marina and The Diamonds

    Marina and T

    8 Temmuz 2008