Există o concepție greșită comună care Mac pentru a transfera liniile utilizate \ r. De fapt, această metodă este o fosilă pe Mac-uri, și este în prezent folosit ca linie de ambalaj în * nix - \ n. Windows este o excepție, transferul este dat de \ r \ n.
Atunci când este utilizat în C # împachetarea folosind secvențe specifice platformei are loc atunci când se utilizează metode cum ar fi WriteLine. AppendLine și altele, care sunt reduse la adăugarea secvenței Environment.NewLine dependente de platformă.
În consecință, răspunsul este de a utiliza un ambalaj, este necesar să-l definească în mod explicit. De exemplu, în loc să StringBuilder.AppendLine ( "abc") pentru a utiliza StringBuilder.Append ( "abc \ n"). Unele clase, cum ar fi cursuri pentru lucrul cu fișiere care sunt utilizate pentru a suprascrie permite o secvență de caractere. De exemplu, atunci când creați un StreamWriter puteți specifica noul StreamWriter (stream)
Dacă aveți deja un rând de ferestre cu traduceri, aveți nevoie pentru a face o căutare și înlocuire: str.Replace ( "\ r \ n", "\ n") sau chiar str.Replace ( "\ r", ""). Dacă nu știi care sunt utilizate schimburi, este posibil să se folosească expresii regulate, dar de obicei este redundantă, deoarece variantele de fapt doar două.
Răspuns 26 '16 ianuarie la 11:27
Sub Linux este un utilitar dos2unix .Cu se poate converti la capetele rândurilor, atât în format și din spate DOS Unix, sau într-un format de mac
Conform acestui articol, în OS X sfârșitul liniei de caractere \ n (LF) a. După cum am înțeles, aveți un fișier în care caracterul NEWLINE are două caractere \ r \ n (CR + LF).
Prin urmare, sarcina dumneavoastră este limitată la înlocuirea caracterelor \ r \ n simbol \ n.
Folosind clasa standard de șir funcție, puteți înlocui
După aceea, șirul rezultat poate fi scris într-un fișier. Numai, NU utilizați nicio funcție de înregistrare în noile linii în fișierul.
Presupun că acest lucru ar trebui să fie așa.
Răspuns 26 '16 ianuarie la 10:57