Cách xóa dòng thừa trong python

Bạn có một chuỗi rất dài hoặc một chuỗi bao gồm các ký tự thoát dòng mới (\n). Bạn muốn sử dụng Python 3 để tự động xóa các dòng mới được thêm vào đó khỏi chuỗi, danh sách hoặc tệp của bạn

Tách dòng mới/ngắt dòng khỏi chuỗi Python

Trong bài đăng này, chúng tôi sẽ phác thảo ba phương pháp mà bạn có thể sử dụng để xóa các dòng mới khỏi một chuỗi. Chúng tôi sẽ thảo luận về từng kỹ thuật và đăng mã ví dụ cho từng trường hợp

Sử dụng phương thức dải()

Hàm strip() trong Python xóa mọi ký tự theo sau ở đầu và cuối chuỗi. Vì vậy, nếu các đường gạch chéo của bạn nằm trước hoặc sau chuỗi, bạn có thể sử dụng dải () để loại bỏ chúng

Mã số

mystring = '\nThis is my string. \n'
print("With newlines:" + mystring)
print("After deleting the newlines:",mystring.strip())

đầu ra

With newlines:
This is my string. 

After deleting the newlines: This is my string.

Sử dụng phương thức thay thế()

Nếu bạn có một chuỗi chứa nhiều ngắt dòng, bạn có thể sử dụng phương thức thay thế và xóa/thay thế nhiều dòng mới

Mã số

mystring = 'This is my string \nThis comes in the next line.'
print("With line breaks:" + mystring)
print("After deleting line breaks:",mystring.replace('\n',''))

đầu ra

With line breaks:This is my string 
This comes in the next line.
After deleting line breaks: This is my string This comes in the next line.

Sử dụng phương thức splitlines()

Phương thức splitlines() giúp chuyển các dòng thành danh sách chia nhỏ. Do đó, chúng ta có thể tách chuỗi của mình thành một danh sách và sau đó nối nó để tạo thành một giá trị chuỗi

Mã số

mystring = 'This is my string \nThis comes in the next line.'
print("With line breaks:" + mystring)
print("After deleting new lines:",''.join(mystring.splitlines()))

đầu ra

With line breaks:This is my string 
This comes in the next line.
After deleting new lines: This is my string This comes in the next line.

Thay thế ngắt dòng bằng dấu cách

Một trường hợp phổ biến khác là đặt các khoảng trống thay vì các dòng mới trong một chuỗi. Hãy xem một ví dụ đơn giản

my_str = 'This is a string that\ni read from a file\n'
print(my_str)

Điều này sẽ trả lại như sau

This is a string that
i read from a file

Hãy thay thế ngắt dòng bằng khoảng trắng và in kết quả

________số 8_______

Điều này sẽ trở lại

This is a string that i read from a file 

Xóa dòng mới khỏi danh sách Python

Theo cách tương tự, bạn có thể dễ dàng loại bỏ các dòng mới khỏi danh sách các chuỗi

Giả sử bạn có danh sách sau

With newlines:
This is my string. 

After deleting the newlines: This is my string.
0

Chúng ta có thể dễ dàng loại bỏ các dòng mới khỏi các phần tử danh sách bằng cách hiểu danh sách và hàm rstrip()

With newlines:
This is my string. 

After deleting the newlines: This is my string.
1

Đây là kết quả

With newlines:
This is my string. 

After deleting the newlines: This is my string.
2

Ngoài ra, chúng ta có thể thu được kết quả tương tự bằng cách sử dụng hàm replace()

With newlines:
This is my string. 

After deleting the newlines: This is my string.
3

Chúng ta cũng có thể thay thế các ký tự xuống dòng bằng một khoảng trắng

With newlines:
This is my string. 

After deleting the newlines: This is my string.
4

Xóa ngắt dòng khỏi tệp

Chủ đề cuối cùng của hướng dẫn này là xóa dòng mới khỏi nội dung của tệp văn bản

Chúng tôi biết cách đọc tệp văn bản vào danh sách Python bằng readlines(). Trong trường hợp này, chúng ta cần một cách tiếp cận hơi khác. Trước tiên, chúng tôi muốn đọc nội dung của tệp văn bản thành một chuỗi. Điều này có thể dễ dàng thực hiện bằng hàm read() đối tượng tệp. Sau đó, chúng ta có thể thao tác chuỗi khi cần, trong trường hợp này thay thế các ký tự xuống dòng bằng khoảng trắng

Phương thức tách chuỗi thành ký tự xuống dòng và trả về danh sách chứa các dòng trong chuỗi

Chúng tôi đã sử dụng cách hiểu danh sách để lặp lại danh sách các dòng

Khả năng hiểu danh sách được sử dụng để thực hiện một số thao tác cho mọi phần tử hoặc chọn một tập hợp con các phần tử đáp ứng một điều kiện

Trên mỗi lần lặp, chúng tôi kiểm tra xem dòng hiện tại có đúng không để loại trừ các chuỗi rỗng khỏi kết quả

Bước cuối cùng là sử dụng phương pháp str.join() để tham gia danh sách đã lọc

Phương thức lấy một iterable làm đối số và trả về một chuỗi là chuỗi nối của các chuỗi trong iterable

Chuỗi mà phương thức được gọi được sử dụng làm dấu phân cách giữa các phần tử

Chúng tôi đã sử dụng os.linesep làm dấu phân cách

Thuộc tính trả về chuỗi được sử dụng để phân tách các dòng trên nền tảng hiện tại

Ví dụ: \n trên Unix và \r\n trên Windows

Tôi đang dùng Linux, vì vậy đây là kết quả của os.linesep đối với tôi

Nếu bạn muốn xử lý tình huống trong đó các dòng trống có thể chỉ chứa khoảng trắng, hãy sử dụng phương thức str.strip()

Xóa các dòng trống có hoặc không có khoảng trắng khỏi Chuỗi

Để xóa các dòng trống có thể chứa hoặc không chứa khoảng trắng khỏi một chuỗi

  1. Sử dụng phương thức str.splitlines() để tách chuỗi trên các ký tự xuống dòng
  2. Sử dụng khả năng hiểu danh sách để lặp lại danh sách
  3. Sử dụng phương pháp str.strip() để lọc ra các dòng trống có thể chứa khoảng trắng
  4. Sử dụng phương pháp str.join() để tham gia danh sách bằng dấu tách ký tự dòng mới

Nếu các dòng trống trong chuỗi nhiều dòng chỉ chứa các ký tự khoảng trắng, chúng ta có thể sử dụng phương thức str.strip() để xóa khoảng trắng và so sánh kết quả với một chuỗi trống

Dưới đây là một ví dụ về cách gọi str.splitlines() trên một chuỗi nhiều dòng trong đó một số dòng trống chỉ chứa các ký tự khoảng trắng

Phương thức trả về một bản sao của chuỗi với khoảng trắng ở đầu và cuối đã bị xóa

Nếu dòng bằng một chuỗi trống sau khi xóa khoảng trắng ở đầu và cuối, chúng tôi coi đó là một dòng trống

Ngoài ra, bạn có thể sử dụng phương thức str.join() với ký tự xuống dòng để tránh nhập thêm

Xóa các dòng trống khỏi Chuỗi bằng cách sử dụng str. tham gia () với \n

Để xóa các dòng trống khỏi một chuỗi

  1. Sử dụng phương thức str.splitlines() để tách chuỗi trên các ký tự xuống dòng
  2. Sử dụng khả năng hiểu danh sách để lặp lại danh sách
  3. Loại trừ các dòng trống khỏi kết quả
  4. Sử dụng phương pháp str.join() để tham gia danh sách đã lọc với \n làm dấu tách

Chúng tôi đã sử dụng ký tự \n (dòng mới) làm dấu phân cách trong ví dụ để không phải nhập mô-đun os.linesep0

Tuy nhiên, lưu ý rằng phương pháp này không xử lý tình huống trong đó các dòng trong chuỗi nhiều dòng được phân tách bằng một ký tự khác, e. g. os.linesep1 (Cửa sổ)

Làm cách nào để xóa chuỗi trong Python?

replace() phương pháp và re. hàm sub() thường được dùng để dọn sạch văn bản bằng cách loại bỏ các chuỗi hoặc chuỗi con hoặc thay thế chúng.

\r trong Python là gì?

Trong các chuỗi Python, dấu gạch chéo ngược "\" là một ký tự đặc biệt, còn được gọi là ký tự "thoát". Nó được sử dụng để đại diện cho các ký tự khoảng trắng nhất định. "\t" là một tab, "\n" là một dòng mới và "\r" là dấu xuống dòng .