Cách dễ nhất để xóa một dòng mới khỏi chuỗi trong Python là sử dụng phương thức chuỗi
>>> s = """4. Một cách khác là sử dụng phương thức chuỗi
.. This string has new lines
.. everywhere!
.. """
>>> print[s]
This string has new lines
everywhere!
>>> s.strip[]
'This string has new lines\neverywhere!'
>>> s = """5 nếu dòng mới ở đầu hoặc cuối chuỗi
.. This string has new lines
.. everywhere!
.. """
>>> print[s]
This string has new lines
everywhere!
>>> s.strip[]
'This string has new lines\neverywhere!'
Dưới đây là một số ví dụ minh họa cách xóa các ký tự dòng mới
>>> s = """
.. This string has new lines
.. everywhere!
.. """
>>> print[s]
This string has new lines
everywhere!
>>> s.replace['\n', '']
'This string has new lineseverywhere!'
Như bạn có thể thấy từ đầu ra ở trên, phương thức chuỗi
>>> s = """4 có hai tham số. chuỗi đầu tiên là chuỗi cần tìm và chuỗi thứ hai là chuỗi cần thay thế sau khi tìm thấy
.. This string has new lines
.. everywhere!
.. """
>>> print[s]
This string has new lines
everywhere!
>>> s.strip[]
'This string has new lines\neverywhere!'
Ký tự dòng mới trong Python là chuỗi
>>> s = """7, do đó, trong phương thức chuỗi
.. This string has new lines
.. everywhere!
.. """
>>> print[s]
This string has new lines
everywhere!
>>> s.strip[]
'This string has new lines\neverywhere!'
>>> s = """4, tham số đầu tiên là chuỗi dòng mới này
.. This string has new lines
.. everywhere!
.. """
>>> print[s]
This string has new lines
everywhere!
>>> s.strip[]
'This string has new lines\neverywhere!'
>>> s = """7 và tham số thứ hai là thứ bạn muốn thay thế bằng
.. This string has new lines
.. everywhere!
.. """
>>> print[s]
This string has new lines
everywhere!
>>> s.strip[]
'This string has new lines\neverywhere!'
Trong ví dụ trên, tôi đang thay thế chuỗi dòng mới bằng một chuỗi trống, điều đó có nghĩa là tất cả các chuỗi dòng mới được tìm thấy trong chuỗi ban đầu của tôi đều bị xóa
Tuy nhiên, điều này đã đưa ra một vấn đề với kết quả. Bạn có nhận thấy rằng chuỗi cuối cùng không chèn khoảng trắng giữa các từ
>>> s = """4 và
.. This string has new lines
.. everywhere!
.. """
>>> print[s]
This string has new lines
everywhere!
>>> s.strip[]
'This string has new lines\neverywhere!'
>>> s = """5 không?
.. This string has new lines
.. everywhere!
.. """
>>> print[s]
This string has new lines
everywhere!
>>> s.strip[]
'This string has new lines\neverywhere!'
Đây có thể là một vấn đề với phương thức chuỗi
>>> s = """4, nó sẽ thực hiện thay thế trên tất cả các lần xuất hiện của chuỗi khi được tìm thấy trong chuỗi gốc
.. This string has new lines
.. everywhere!
.. """
>>> print[s]
This string has new lines
everywhere!
>>> s.strip[]
'This string has new lines\neverywhere!'
Nếu tôi muốn xóa các ký tự dòng mới ở cuối và ở đầu khỏi chuỗi ban đầu của mình, tôi có thể sử dụng một phương thức chuỗi tích hợp khác có tên là
>>> s = """5
.. This string has new lines
.. everywhere!
.. """
>>> print[s]
This string has new lines
everywhere!
>>> s.strip[]
'This string has new lines\neverywhere!'
Đây là cách phương pháp này có thể trợ giúp với chuỗi gốc
>>> s = """
.. This string has new lines
.. everywhere!
.. """
>>> print[s]
This string has new lines
everywhere!
>>> s.strip[]
'This string has new lines\neverywhere!'
Như bạn có thể thấy từ việc chạy cùng một mã nhưng thay vào đó sử dụng phương thức
>>> s = """5, tôi đã có thể xóa các dòng mới ở đầu và cuối khỏi chuỗi gốc của mình
.. This string has new lines
.. everywhere!
.. """
>>> print[s]
This string has new lines
everywhere!
>>> s.strip[]
'This string has new lines\neverywhere!'
Bạn cũng sẽ nhận thấy ký tự dòng mới được nhúng giữa các từ
>>> s = """4 và
.. This string has new lines
.. everywhere!
.. """
>>> print[s]
This string has new lines
everywhere!
>>> s.strip[]
'This string has new lines\neverywhere!'
>>> s = """5. Phương thức
.. This string has new lines
.. everywhere!
.. """
>>> print[s]
This string has new lines
everywhere!
>>> s.strip[]
'This string has new lines\neverywhere!'
>>> s = """5 chỉ hoạt động trên các ký tự đầu và cuối trong một chuỗi – không phải những ký tự được tìm thấy ở nơi khác
.. This string has new lines
.. everywhere!
.. """
>>> print[s]
This string has new lines
everywhere!
>>> s.strip[]
'This string has new lines\neverywhere!'
Để đạt được kết quả như mong đợi trong việc loại bỏ các dòng mới ở cuối và đầu dòng cũng như chuyển đổi các dòng mới được tìm thấy ở giữa thành khoảng trắng, bạn có thể xâu chuỗi cả hai phương thức chuỗi
>>> s = """5 và
.. This string has new lines
.. everywhere!
.. """
>>> print[s]
This string has new lines
everywhere!
>>> s.strip[]
'This string has new lines\neverywhere!'
>>> s = """4 lại với nhau
.. This string has new lines
.. everywhere!
.. """
>>> print[s]
This string has new lines
everywhere!
>>> s.strip[]
'This string has new lines\neverywhere!'
Bạn chỉ cần làm như vậy theo đúng thứ tự. Như đã thấy bên dưới
>>> s = """
.. This string has new lines
.. everywhere!
.. """
>>> print[s]
This string has new lines
everywhere!
>>> s.strip[].replace['\n', ' ']
'This string has new lines everywhere!'
Bạn cũng có thể khá chọn lọc về loại tước mà bạn muốn thực hiện trên chuỗi gốc của mình
Ngoài phương thức chuỗi
>>> s = """5 loại bỏ tất cả các ký tự khoảng trắng ở đầu và cuối khỏi một chuỗi, còn có các phương thức chuỗi tương tự chỉ loại bỏ phía bên trái của chuỗi
.. This string has new lines
.. everywhere!
.. """
>>> print[s]
This string has new lines
everywhere!
>>> s.strip[]
'This string has new lines\neverywhere!'
>>> s = """5 hoặc phía bên phải của chuỗi
.. This string has new lines
.. everywhere!
.. """
>>> print[s]
This string has new lines
everywhere!
>>> s.strip[].replace['\n', ' ']
'This string has new lines everywhere!'
>>> s = """6
.. This string has new lines
.. everywhere!
.. """
>>> print[s]
This string has new lines
everywhere!
>>> s.strip[].replace['\n', ' ']
'This string has new lines everywhere!'
Dưới đây là minh họa về các phương thức dải khác này với chuỗi gốc
>>> s = """
.. This string has new lines
.. everywhere!
.. """
>>> print[s]
This string has new lines
everywhere!
>>> s.rstrip[]
'\nThis string has new lines\neverywhere!'
>>> s.lstrip[]
'This string has new lines\neverywhere!\n'
Sử dụng Regex >>> s = """
.. This string has new lines
.. everywhere!
.. """
>>> print[s]
This string has new lines
everywhere!
>>> s.strip[].replace['\n', ' ']
'This string has new lines everywhere!'
7
.. This string has new lines
.. everywhere!
.. """
>>> print[s]
This string has new lines
everywhere!
>>> s.strip[].replace['\n', ' ']
'This string has new lines everywhere!'
Một cách thay thế khác cho các phương thức chuỗi
>>> s = """5 và
.. This string has new lines
.. everywhere!
.. """
>>> print[s]
This string has new lines
everywhere!
>>> s.strip[]
'This string has new lines\neverywhere!'
>>> s = """4 là sử dụng phương thức của thư viện regex
.. This string has new lines
.. everywhere!
.. """
>>> print[s]
This string has new lines
everywhere!
>>> s.strip[]
'This string has new lines\neverywhere!'
>>> s = """0, viết tắt của từ replace
.. This string has new lines
.. everywhere!
.. """
>>> print[s]
This string has new lines
everywhere!
>>> s.rstrip[]
'\nThis string has new lines\neverywhere!'
>>> s.lstrip[]
'This string has new lines\neverywhere!\n'
Thư viện Regex có thể giúp cho phép loại bỏ nhiều dòng mới hơn nếu chỉ cần thay đổi một số ký tự dòng mới cụ thể
Ví dụ: có lẽ nếu ký tự dòng mới được tìm thấy ở cuối câu, bạn sẽ muốn giữ lại ký tự đó, nhưng nếu không, hãy thay thế ký tự đó bằng ký tự khoảng trắng
Đây là giao diện của nó khi sử dụng hàm Regex
>>> s = """1
.. This string has new lines
.. everywhere!
.. """
>>> print[s]
This string has new lines
everywhere!
>>> s.rstrip[]
'\nThis string has new lines\neverywhere!'
>>> s.lstrip[]
'This string has new lines\neverywhere!\n'
>>> s = """3
.. This string has new lines
.. everywhere!
.. """
>>> print[s]
This string has new lines
everywhere!
>>> s.strip[]
'This string has new lines\neverywhere!'
Như bạn có thể thấy hàm Regex
>>> s = """0 hoạt động tốt. Mẫu Regex được tìm thấy trong tham số đầu tiên của hàm tìm thấy bất kỳ ký tự dòng mới nào ở đầu chuỗi
.. This string has new lines
.. everywhere!
.. """
>>> print[s]
This string has new lines
everywhere!
>>> s.rstrip[]
'\nThis string has new lines\neverywhere!'
>>> s.lstrip[]
'This string has new lines\neverywhere!\n'
>>> s = """3;
.. This string has new lines
.. everywhere!
.. """
>>> print[s]
This string has new lines
everywhere!
>>> s.rstrip[]
'\nThis string has new lines\neverywhere!'
>>> s.lstrip[]
'This string has new lines\neverywhere!\n'
Bạn có thể tinh chỉnh thêm mẫu Regex để loại trừ việc xóa các ký tự dòng mới khi ký tự dòng mới được tìm thấy sau dấu chấm hỏi hoặc dấu chấm than. Điều này có nghĩa là tạo một phần bổ sung cho mẫu Regex để nó trông như thế này
>>> s = """8
.. This string has new lines
.. everywhere!
.. """
>>> print[s]
This string has new lines
everywhere!
>>> s.strip[]
'This string has new lines\neverywhere!'
Một khía cạnh khác khi sử dụng thư viện Regex có thể nâng cao hơn nữa cách bạn muốn xử lý các ký tự dòng mới là liệu bạn có muốn nắm bắt một số lượng cụ thể các dòng mới hay không
Regex cho phép người dùng chỉ áp dụng một số lần chụp nhất định theo số lượng phiên bản được tìm thấy
Lấy ví dụ chuỗi sau cố tình chứa một ký tự dòng mới, hai ký tự dòng mới liền kề và ba ký tự dòng mới liền kề
>>> s = """9
.. This string has new lines
.. everywhere!
.. """
>>> print[s]
This string has new lines
everywhere!
>>> s.strip[]
'This string has new lines\neverywhere!'
Như bạn có thể thấy từ ví dụ trên, bằng cách nối thêm
>>> s = """6 sau ký tự chuỗi dòng mới, bạn có thể chỉ định số lượng ký tự dòng mới liên tiếp mà bạn muốn nắm bắt và thay đổi
.. This string has new lines
.. everywhere!
.. """
>>> print[s]
This string has new lines
everywhere!
>>> s.rstrip[]
'\nThis string has new lines\neverywhere!'
>>> s.lstrip[]
'This string has new lines\neverywhere!\n'
Một cách khác là sử dụng ký hiệu
>>> s = """7 có nghĩa là ghi lại tất cả các trường hợp của một hoặc nhiều ký tự dòng mới và sẽ được viết là
.. This string has new lines
.. everywhere!
.. """
>>> print[s]
This string has new lines
everywhere!
>>> s.rstrip[]
'\nThis string has new lines\neverywhere!'
>>> s.lstrip[]
'This string has new lines\neverywhere!\n'
>>> s = """8
.. This string has new lines
.. everywhere!
.. """
>>> print[s]
This string has new lines
everywhere!
>>> s.rstrip[]
'\nThis string has new lines\neverywhere!'
>>> s.lstrip[]
'This string has new lines\neverywhere!\n'
Bản tóm tắt
Để xóa các ký tự dòng mới khỏi một chuỗi, hãy sử dụng các phương thức chuỗi
>>> s = """4 khi tìm cách thay thế mọi ký tự dòng mới bằng một thứ gì đó hoặc
.. This string has new lines
.. everywhere!
.. """
>>> print[s]
This string has new lines
everywhere!
>>> s.strip[]
'This string has new lines\neverywhere!'
>>> s = """5 khi cố gắng xóa chỉ các ký tự dòng mới ở đầu hoặc cuối khỏi một chuỗi hoặc hàm
.. This string has new lines
.. everywhere!
.. """
>>> print[s]
This string has new lines
everywhere!
>>> s.strip[]
'This string has new lines\neverywhere!'
>>> s = """1 của thư viện Regex để xóa
.. This string has new lines
.. everywhere!
.. """
>>> print[s]
This string has new lines
everywhere!
>>> s.rstrip[]
'\nThis string has new lines\neverywhere!'
>>> s.lstrip[]
'This string has new lines\neverywhere!\n'