String s = "hi hello";
s = s.replaceAll("\\s*", " ");
System.out.println(s);
Yukarıdaki kod var amaString.replaceAll Garip Davranış
h i h e l l o
yerine
hi hello
çok teşekkürler
String s = "hi hello";
s = s.replaceAll("\\s*", " ");
System.out.println(s);
Yukarıdaki kod var amaString.replaceAll Garip Davranış
h i h e l l o
yerine
hi hello
çok teşekkürler
Kullanım üretir neden dışarı çalışamaz *
yerine 1 veya daha fazla boşluğu eşleştirmek için +
niceleyici: -
s = s.replaceAll("\\s+", " ");
\\s*
, 0 veya daha fazla boşluk eşleşmesi anlamına gelir ve her karakterden önce boş bir karakterle eşleşir ve bir boşlukla değiştirilir.
*
maçlar 0 veya daha fazla boşluk, sana 1 veya daha fazla boşluk maç için +
bunu değiştirmek istiyorum düşünüyorum.
+1 "Arasındaki" yerine, ilk karakterden önce eşleşeceği için "önce" diyebilirim. –
@PeterLawrey .. Haklısınız. Düzenlenmiş cevap. :) –