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
String.trim()
- Döner baştaki ve sondaki boşluk ihmal dize bir kopyasını.
- regular-expressions.info/Repetition
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
- Ve boş dize yakalar
_ $
: dize sonundaki boşlukları bir dizi- Ve boş dize yakalar
$1
ile eşleşmeyi değiştir
- Ve boş dize yakalar
(_)
: 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
- Ve tek bir boşluk yakalar
Ayrıca Bkz
Bunu Paylaş:
Nasıl dize Java kullanarak boşluk yine...
linux sınırlayıcı için daha fazla boşl...
Bir veya daha fazla boşluk veya sekme ...
Nasıl baskı yeni satır veya boşluk olm...
Yüce Metin içinde sekme ile dört boşlu...