Bagaimana cara menghapus karakter carriage return (\r)
dan karakter baris baru (\n)
dari akhir string?
c#
string
newline
carriage-return
Avik
sumber
sumber
s = s.TrimEnd()
- seperti yang dikatakan dokumen: Jika trimChars adalah null atau array kosong, karakter spasi kosong Unicode akan dihapus. - lihat String.TrimEnd'\r'
dan'\n'
dan tidak ada yang lain, bukan karakter spasi' '
misalnya.Ini harus bekerja ...
sumber
Jika Anda menggunakan banyak platform, Anda lebih aman menggunakan metode ini.
Ini akan menjelaskan baris baru yang berbeda dan karakter carriage-return.
sumber
tst.TrimEnd( '\r', '\n' )
- cukup "aman" dalam prakteknya karena EOL mayor [saat ini] hanyalah kombinasi yang berbeda dari\r
dan\n
, tetapi alexw adalah jawaban yang "benar". Biarkan CLR memberi tahu Anda karakter apa yang ada di baris baru platform ini. EOL tidak selalu merupakan kombinasi 0D dan 0AEnvironment.NewLine
tetapi tampaknya tidak menangani contoh di mana\r
ada tanpa\n
.TrimEnd('r','\n')
tampaknya lebih dapat diandalkan dalam kasus ini.s
menjadi string asli. (Catatan ibu kota)sumber
replace()
kemudiantrim()
tidak berlebihan ketikaTrimEnd()
dapat melakukan pekerjaan itu sendiri, atau saya kehilangan sesuatu?Di atas adalah semua yang saya butuhkan untuk menghapus '\ r \ n' dari ujung string saya.
Jawaban yang disukai tampaknya salah bagi saya. Pertama, itu tidak bekerja ketika saya mencoba, kedua, jika itu berhasil aku akan berharap bahwa s.TrimEnd ( '\ r', '\ n') hanya akan menghapus baik sebuah '\ r' atau '\ n' , jadi saya harus menjalankannya di atas string saya dua kali - sekali untuk saat '\ n' berada di akhir dan kedua kalinya saat '\ r' berada di akhir (sekarang setelah '\ n' dilepas) .
sumber
Jika selalu ada satu CRLF, maka:
Jika mungkin memilikinya atau mungkin tidak, maka:
Keduanya (menurut desain), akan menghapus paling banyak satu CRLF. Cache regex untuk kinerja.
sumber
Bagi kami para VBers:
sumber
sumber
Ini terlalu mudah - bagi saya, saya memfilter item email tertentu. Saya sedang menulis filter sampah email khusus saya sendiri. Dengan \ r dan / atau \ n dalam string itu menghapus semua item alih-alih memfilter.
Jadi, saya baru saja melakukan filter = filter.Remove ('\ n') dan filter = filter.Remove ('\ r'). Saya membuat filter saya sedemikian rupa sehingga pengguna akhir dapat menggunakan Notepad untuk mengedit file secara langsung sehingga tidak ada yang tahu di mana karakter ini dapat menyematkan diri - bisa jadi selain di awal atau akhir string. Jadi menghapus semuanya berarti melakukannya.
Entri lainnya semuanya berfungsi tetapi Hapus mungkin yang paling mudah?
Saya belajar lebih banyak tentang Regex dari posting ini - pekerjaan yang cukup keren dengan penggunaannya di sini.
sumber
filter = filter.Remove('\n').Remove('\r');
Saya menggunakan banyak level penghapusan
dan sekarang kita memiliki satu baris bersih
sumber
sumber
Inilah yang saya harus bekerja untuk saya.
sumber