SORU
29 Ocak 2010, Cuma


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
29 Ocak 2010, Cuma


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.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • kylelandry

    kylelandry

    9 AĞUSTOS 2007
  • Rachel Talbott

    Rachel Talbo

    26 Ocak 2011
  • RD

    RD

    19 NİSAN 2006