Tôi đã có một tập lệnh Perl tiêu thụ tệp XML trên Linux và đôi khi có CRLF (Hex 0D0A, Dos dòng mới) trong một số giá trị nút đó.Xóa CRLF (0D 0A) khỏi chuỗi trong Perl
Hệ thống tạo tệp XML ghi tất cả dưới dạng một dòng, và có vẻ như đôi khi nó quyết định quá dài và viết CRLF vào một trong các thành phần dữ liệu. Thật không may là không có gì tôi có thể làm về hệ thống cung cấp.
Tôi chỉ cần xóa chúng khỏi chuỗi trước khi xử lý.
Tôi đã thử tất cả các loại thay thế regex bằng cách sử dụng các lớp char perl, giá trị hex, tất cả các loại và không có gì có vẻ hoạt động.
Tôi thậm chí chạy tệp đầu vào thông qua dos2unix trước khi xử lý và tôi vẫn không thể loại bỏ các ký tự sai.
Có ai có ý tưởng nào không?
Nhiều Cảm ơn,
Hiệu ứng Rubberduck. Nó không bao giờ thất bại! :) –
Hãy nhớ rằng điều này sẽ loại bỏ tất cả các trường hợp của các ký tự '\ r' và' \ n' và không phải chuỗi '\ r \ n' (chỉ nằm trong' \ r' hoặc '\ n' có thể là các giá trị hợp lệ mà bạn cần ở những nơi khác) –