Hướng dẫn how to escape new line character in python - cách thoát ký tự dòng mới trong python

Tôi muốn dòng mới

>>> print[line]
abc\ndef
2 hiển thị rõ ràng khi in một chuỗi được lấy từ nơi khác. Vì vậy, nếu chuỗi là 'abc \ ndef', tôi không muốn điều này xảy ra:

>>> print[line]
abc
def

Nhưng thay vào đó là:

>>> print[line]
abc\ndef

Có cách nào để sửa đổi in, hoặc sửa đổi đối số, hoặc có thể hoàn toàn chức năng khác để thực hiện điều này?

Đã hỏi ngày 13 tháng 3 năm 2013 lúc 17:48Mar 13, 2013 at 17:48

Chỉ cần mã hóa nó với codec

>>> print[line]
abc\ndef
3.

>>> print "foo\nbar".encode['string_escape']
foo\nbar

Trong Python3,

>>> print[line]
abc\ndef
3 đã trở thành
>>> print[line]
abc\ndef
5. Ngoài ra, chúng ta cần cẩn thận hơn một chút về byte/unicode để nó liên quan đến việc giải mã sau khi mã hóa:

>>> print["foo\nbar".encode["unicode_escape"].decode["utf-8"]]

Tham chiếu Unicode_escape

Đã trả lời ngày 13 tháng 3 năm 2013 lúc 17:49Mar 13, 2013 at 17:49

Mgilsonmgilsonmgilson

291K63 Huy hiệu vàng610 Huy hiệu bạc677 Huy hiệu Đồng63 gold badges610 silver badges677 bronze badges

4

Một cách khác mà bạn có thể ngăn chặn Python bằng cách sử dụng các ký tự thoát là sử dụng một chuỗi thô như thế này:

>>> print[r"abc\ndef"]
abc\ndef

hoặc

>>> string = "abc\ndef"
>>> print [repr[string]]
>>> 'abc\ndef'

proplem duy nhất sử dụng

>>> print[line]
abc\ndef
6 là nó đặt chuỗi của bạn trong các trích dẫn đơn, nó có thể tiện dụng nếu bạn muốn sử dụng báo giá

Đã trả lời ngày 13 tháng 3 năm 2013 lúc 17:59Mar 13, 2013 at 17:59

PuritylakePurityLakePurityLake

1.06010 Huy hiệu bạc18 Huy hiệu đồng10 silver badges18 bronze badges

0

Phương pháp đơn giản nhất:

>>> print[line]
abc\ndef
7

Các phương pháp khác sẽ tốt hơn nếu bạn muốn hiển thị tất cả các ký tự thoát, nhưng nếu tất cả những gì bạn quan tâm là Newlines, chỉ cần sử dụng thay thế trực tiếp.

Đã trả lời ngày 13 tháng 3 năm 2013 lúc 18:26Mar 13, 2013 at 18:26

5

Trong hướng dẫn này, bạn sẽ học cách sử dụng ký tự dòng mới của Python và cách in mà không cần Newlines. Có thể kiểm soát cách chương trình của bạn in chuỗi là một kỹ năng quan trọng, đặc biệt là khi làm việc với các tệp văn bản hoặc giao diện dòng lệnh [CLI]. Trong hướng dẫn này, bạn sẽ học các cách khác nhau để bao gồm một nhân vật Newline trong chương trình Python của bạn, bao gồm cả các chuỗi nhân vật

>>> print[line]
abc\ndef
2 và các chuỗi nhiều dòng.

Có thể in trên các dòng mới làm tăng khả năng đọc của đầu ra chương trình của bạn. Tương tự, các ký tự Newline thường được tìm thấy trong các tệp văn bản. Có thể hiểu cách các nhân vật này hoạt động trong Python sẽ cho phép bạn tạo các chương trình đáp ứng cách bạn mong đợi.

Đến cuối hướng dẫn này, bạn sẽ học được:

  • Nhân vật dòng mới của Python là gì
  • Cách in mà không có dòng mới trong Python
  • Cách sử dụng chuỗi đa dòng để in trên nhiều dòng

Bắt đầu nào!

  • Nhân vật Python Newline
  • In trong Python mà không có dòng mới
  • Newlines trong chuỗi đa dòng Python
  • Cách xóa các dòng mới trong Python
  • Sự kết luận
  • Tài nguyên bổ sung

Nhân vật Python Newline

In trong Python mà không có dòng mới

Trong Python, nhân vật để tạo một dòng mới là ký tự \ n. Bất cứ nơi nào ký tự này được chèn vào một chuỗi, một dòng mới sẽ được tạo khi chuỗi được in ra. Về bản chất, ký tự này cho biết nơi một dòng kết thúc - bất kỳ ký tự nào sẽ được in trên một dòng mới.

# Printing on Multiple Lines in Python
string = "Welcome to datagy!\nLearn Python and Data Science!"
print[string]

# Returns:
# Welcome to datagy!
# Learn Python and Data Science!

Hãy cùng xem một ví dụ về cách bạn có thể sử dụng ký tự Python Newline,

>>> print[line]
abc\ndef
2, để in trên nhiều dòng trong Python:

Chúng ta có thể thấy rằng bằng cách bao gồm ký tự

>>> print[line]
abc\ndef
2 mới, khi chuỗi được in, văn bản được chia trên nhiều dòng.

# Escaping the Newline Character in Python
string = "Welcome to datagy!\\nLearn Python and Data Science!"
print[string]

# Returns:
# Welcome to datagy!\nLearn Python and Data Science!

Chúng ta có thể thấy rằng ký tự thoát được in, nhưng ký tự mới được in đầy đủ.

In trong Python mà không có dòng mới

Khi bạn in nhiều câu lệnh bằng Python, theo mặc định, chúng in trên nhiều dòng. Hãy xem mã bên dưới làm ví dụ:

________số 8

Lý do mà các câu lệnh này in trên các dòng khác nhau là do hàm

>>> print "foo\nbar".encode['string_escape']
foo\nbar
3 có tham số
>>> print "foo\nbar".encode['string_escape']
foo\nbar
4 mặc định cho ký tự dòng mới,
>>> print "foo\nbar".encode['string_escape']
foo\nbar
1.

Chúng ta thực sự có thể thay đổi kết thúc của các câu lệnh in này bằng cách truyền trong một chuỗi khác. Ví dụ: nếu chúng tôi muốn tiếp tục in nhiều câu lệnh trên cùng một dòng đầu ra, chúng tôi chỉ có thể viết:

# Printing in Python Without Newlines
print["Hello!", end=' ']
print["Welcome to datagy!"]

# Returns:
# Hello! Welcome to datagy!

Trong ví dụ trên, chúng tôi đã sửa đổi tham số

>>> print "foo\nbar".encode['string_escape']
foo\nbar
4 để chỉ là một ký tự không gian. Bởi vì điều này, hai câu được in trên cùng một dòng, chỉ được phân tách bằng một không gian duy nhất.

Newlines trong chuỗi đa dòng Python

Một cách khác mà bạn có thể dễ dàng in trên nhiều dòng trong Python là sử dụng các chuỗi nhiều dòng. Các chuỗi nhiều dòng trong Python được tuyên bố bằng ba trích dẫn đơn hoặc trích dẫn gấp đôi. Điều này cho phép bạn sử dụng ngắt dòng trong chuỗi mà không khai báo rõ ràng chúng.

Hãy cùng xem cách chúng ta có thể sao chép ví dụ trước đó bằng cách sử dụng các chuỗi nhiều dòng:

>>> print[line]
abc\ndef
0

Bởi vì chúng tôi đã tuyên bố chuỗi là một chuỗi nhiều dòng, chúng tôi đã có thể xử lý các dòng phá vỡ một cách ngầm!

Cách xóa các dòng mới trong Python

Chúng ta có thể sử dụng các phương thức chuỗi khác nhau để loại bỏ các ký tự dòng hàng đầu và theo dõi. Các phương pháp

>>> print "foo\nbar".encode['string_escape']
foo\nbar
7 và
>>> print "foo\nbar".encode['string_escape']
foo\nbar
8 để loại bỏ khoảng trắng hàng đầu và dấu vết [bao gồm cả các ký tự mới]. Hãy để xem cách chúng ta có thể sử dụng phương thức
>>> print "foo\nbar".encode['string_escape']
foo\nbar
8 để xóa ký tự dòng hàng đầu:

>>> print[line]
abc\ndef
1

Trong ví dụ, trước tiên chúng tôi đã in chuỗi với ký tự mới hàng đầu. Sau đó, chúng tôi đã in dòng bằng cách bỏ ra bất kỳ khoảng trắng nào.

Sự kết luận

Trong hướng dẫn này, bạn đã học cách làm việc với nhân vật Newline trong Python. Bạn đã học cách hoạt động của ký tự dòng mới, cách thoát khỏi ký tự dòng mới và cách in mà không cần đối số dòng mới mặc định. Sau đó, bạn đã học cách sử dụng các chuỗi nhiều dòng để mô phỏng in trên các dòng mới. Cuối cùng, bạn đã học được cách loại bỏ các dòng mới khỏi các chuỗi trong Python.

Tài nguyên bổ sung

Để tìm hiểu về các chủ đề liên quan, hãy xem các hướng dẫn dưới đây:

  • Python: Sắp xếp một chuỗi [4 cách khác nhau]
  • Python Zfill & rjust: Pad a String in Python
  • Python: int sang nhị phân [chuyển đổi số nguyên thành chuỗi nhị phân]
  • Python: Xóa các ký tự đặc biệt khỏi chuỗi
  • Python: Xóa dấu câu từ một chuỗi [3 cách khác nhau!]
  • Chức năng in Python: Tài liệu chính thức

Nhân vật thoát cho một dòng mới trong Python là gì?

Trong các chuỗi Python, dấu gạch chéo ngược "\" là một nhân vật đặc biệt, còn được gọi là nhân vật "Escape".Nó được sử dụng để thể hiện 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à một sự trở lại vận chuyển.\n" is a newline, and "\r" is a carriage return.

Nhân vật thoát '\ n là gì?

Trình tự thoát được sử dụng bên trong các chuỗi, không chỉ các chuỗi cho printf, để đại diện cho các ký tự đặc biệt.Cụ thể, trình tự thoát \ n đại diện cho ký tự dòng mới.newline character.

Bài Viết Liên Quan

Chủ Đề