Hướng dẫn python remove newline from multi-line string - python xóa dòng mới khỏi chuỗi nhiều dòng

Tôi xin lỗi vì câu hỏi của Noobish, nhưng không có câu trả lời nào tôi xem dường như khắc phục điều này. Tôi muốn lấy một chuỗi nhiều dòng như thế này:

myString = """a
b
c
d
e"""

Và nhận được kết quả trông giống như hoặc ít nhất được giải thích như sau:

myString = "abcde"

myString.rstrip (), myString.rstrip (\ n) và myString.rstrip (\ r) dường như không thay đổi bất cứ điều gì khi tôi in chuỗi thử nghiệm "abcde" nhỏ này. Một số giải pháp khác mà tôi đã đọc liên quan đến việc nhập chuỗi như thế này:

myString = ("a"
"b"
"c")

Nhưng giải pháp này là không thực tế vì tôi đang làm việc với các bộ dữ liệu rất lớn. Tôi cần có khả năng sao chép một bộ dữ liệu và dán nó vào chương trình của tôi và để loại bỏ Python hoặc bỏ qua các lần phá vỡ dòng.

Tôi có đang vào một cái gì đó sai không? Có một giải pháp thanh lịch cho điều này? Cảm ơn trước sự kiên nhẫn của bạn.

Vấn đề

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 Newline (\ 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.

Trong bài đăng này, chúng tôi sẽ phác thảo ba phương thức mà bạn có thể sử dụng để xóa Newlines 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 ():

Chức năng Dải Python () sẽ loại bỏ bất kỳ ký tự dấu vết nào ở đầu và cuối chuỗi. Vì vậy, nếu brealines của bạn được đặt trước hoặc sau chuỗi, bạn có thể sử dụng dải () để loại bỏ chúng.

Code:

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

Output:

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à loại bỏ nhiều dòng mới được xóa / thay thế.

Code:

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

Output:

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 đổi các dòng thành một danh sách phân chia. Do đó, chúng tôi có thể chia chuỗi của chúng tôi thành một danh sách và sau đó tham gia nó để tạo ra một giá trị chuỗi.

Code:

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

Output:

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 bằng không gian

Một trường hợp phổ biến khác là đặt các khoảng trống thay vì newlines trong một chuỗi. Hãy cùng 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:

myString = "abcde"
0

Hãy để thay thế các dòng phá vỡ dòng bằng một không gian và in kết quả:

myString = "abcde"
1

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

myString = "abcde"
2

Loại bỏ các 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ỏ Newlines ra khỏi danh sách các chuỗi.

Hãy giả sử bạn có danh sách sau:

myString = "abcde"
3

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

myString = "abcde"
4

Đây là kết quả:

myString = "abcde"
5

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 thay thế ():

myString = "abcde"
6

Chúng ta cũng có thể thay thế các ký tự mới bằng một không gian:

myString = "abcde"
7

Xóa các lần phá vỡ dòng khỏi một tệp

Chủ đề cuối cùng cho hướng dẫn này là loại bỏ các 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 các tệp văn bản vào danh sách Python bằng cách sử dụng readlines ().Trong trường hợp này, chúng tôi 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 dễ dàng được thực hiện bởi hàm read () hàm file read ().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ự mới bằng một không gian.

myString = "abcde"
8

Học tập liên quan

Làm thế nào để đọc các tệp văn bản vào các khung dữ liệu gấu trúc?