Nasıl Java dosyasından Satır sonları kaldırmak için?
Nasıl yapabilirim yerine tüm Satır sonları bir dize Java şekilde çalışacak, Windows ve Linux (yani OS belirli sorunların satırbaşı/satır besleme/yeni satır vb.)?
Denedim (not readFileAsString bir metin bir Dize içine bir dosya okuma fonksiyonu):
String text = readFileAsString("textfile.txt");
text.replace("\n", "");
ama bu işe görünmüyor.
Bu nasıl yapılabilir?
CEVAP
Diğer yanıtlar belirtildiği gibi, sizin kod çalışmıyoröncelikleString.replace(...)
hedef Dize değişmez çünkü. (Mi - Java dizeleri değişmez.) Peki aslında ne karakterleri gerektiği gibi değişti ile yeni bir Dize oluşturur. Ama kodunuzu sonra Dize atar ...
İşte bazı Olası çözümler. En doğru olanı yapmak için çalışıyoruz ne bağlıdır.
// #1
text = text.replace("\n", "");
Sadece tüm yeni satır karakterleri kaldırır. Bu Windows veya Mac satır sonlandırma ile başa çıkmak değildir.
// #2
text = text.replace(System.getProperty("line.separator"), "");
Tüm hat akımı platformu için terminatörler kaldırır. Örnek vermek gerekirse, Windows, UNİX dosya işlemleri ya da tam tersi çalıştığınız dava ile baş değil.
// #3
text = text.replaceAll("\\r|\\n", "");
Kaldırır tüm Windows, UNİX veya Mac satır yok. Eğer girdi dosyası bir metin ise, bu kelime; örneğin bir arada olacak
Goodbye cruel
world.
olur
Goodbye cruelworld.
Aslında bunu yapmak isteyebilirsiniz:
// #4
text = text.replaceAll("\\r\\n|\\r|\\n", " ");
bir boşluk ile her satır sonlandırıcı yerine.
Nasıl bir dize tüm Satır sonları kaldı...
Yeni satır olmadan yazdırma (yazdırma ...
Nasıl dize Java kullanarak boşluk yine...
Bir HTML button için Satır sonları ekl...
Nasıl java günlüğü yazdırmak için satı...