Hướng dẫn how do you escape an apostrophe in a string in python? - Làm thế nào để bạn thoát khỏi một dấu nháy đơn trong một chuỗi trong python?

Consider:

>>> sample = "hello'world"
>>> print sample
hello'world
>>> print sample.replace("'","\'")
hello'world

Trong ứng dụng web của tôi, tôi cần lưu trữ chuỗi Python của mình với tất cả các trích dẫn đơn lẻ thoát ra để thao tác sau đó trong trình duyệt máy khách JavaScript. Rắc rối là Python sử dụng ký hiệu thoát hiểm tương tự, vì vậy hoạt động thay thế như chi tiết ở trên không có hiệu lực.

Có một cách giải quyết đơn giản?

Hướng dẫn how do you escape an apostrophe in a string in python? - Làm thế nào để bạn thoát khỏi một dấu nháy đơn trong một chuỗi trong python?

Hỏi ngày 14 tháng 9 năm 2010 lúc 10:50Sep 14, 2010 at 10:50

0

Là một giải pháp chung để chuyển dữ liệu từ Python sang JavaScript, hãy xem xét tuần tự hóa nó với thư viện

>>> sample = "hello'world"
>>> import json
>>> print json.dumps(sample)
"hello\'world"
9 (một phần của thư viện tiêu chuẩn trong Python 2.6+).

>>> sample = "hello'world"
>>> import json
>>> print json.dumps(sample)
"hello\'world"

Đã trả lời ngày 14 tháng 9 năm 2010 lúc 11:56Sep 14, 2010 at 11:56

Daniel Rosemandaniel RosemanDaniel Roseman

576K61 Huy hiệu vàng844 Huy hiệu bạc856 Huy hiệu đồng61 gold badges844 silver badges856 bronze badges

6

Use:

sample.replace("'", r"\'")

hoặc

sample.replace("'", "\\'")

Đã trả lời ngày 14 tháng 9 năm 2010 lúc 10:52Sep 14, 2010 at 10:52

2

###Introduction

Vì các chuỗi thường được tạo thành từ văn bản bằng văn bản, có nhiều trường hợp khi chúng ta có thể muốn kiểm soát nhiều hơn về cách các chuỗi trông như thế nào để làm cho chúng dễ đọc hơn đối với con người thông qua dấu câu, ngắt dòng và thụt lề.

Trong hướng dẫn này, chúng tôi sẽ đi qua một số cách chúng tôi có thể làm việc với các chuỗi Python để đảm bảo rằng tất cả các văn bản đầu ra được định dạng chính xác.

##Prerequisites

Bạn nên cài đặt Python 3 và môi trường lập trình được thiết lập trên máy tính hoặc máy chủ của bạn. Nếu bạn không có môi trường lập trình được thiết lập, bạn có thể tham khảo hướng dẫn cài đặt và thiết lập cho môi trường lập trình cục bộ hoặc cho môi trường lập trình trên máy chủ của bạn phù hợp với hệ điều hành của bạn (Ubuntu, Centos, Debian, v.v.)

## Chuỗi chữ

Trước tiên, hãy phân biệt giữa một chuỗi theo nghĩa đen và giá trị chuỗi. Một chuỗi theo nghĩa đen là những gì chúng ta thấy trong mã nguồn của một chương trình máy tính, bao gồm các dấu ngoặc kép. Giá trị chuỗi là những gì chúng ta thấy khi chúng ta gọi hàm

sample.replace("'", r"\'")
0 và chạy chương trình.string literal and a string value. A string literal is what we see in the source code of a computer program, including the quotation marks. A string value is what we see when we call the
sample.replace("'", r"\'")
0 function and run the program.

Trong "Xin chào, thế giới!" Chương trình, chuỗi chữ là

sample.replace("'", r"\'")
1 trong khi giá trị chuỗi là
sample.replace("'", r"\'")
2 mà không có dấu ngoặc kép. Giá trị chuỗi là những gì chúng ta thấy là đầu ra trong cửa sổ đầu cuối khi chúng ta chạy chương trình Python.

Nhưng một số giá trị chuỗi có thể cần bao gồm các dấu ngoặc kép, như khi chúng tôi trích dẫn một nguồn. Bởi vì các chữ cái và giá trị chuỗi không tương đương, nên thường cần thêm định dạng bổ sung vào chuỗi chữ để đảm bảo rằng các giá trị chuỗi được hiển thị theo cách mà chúng ta dự định.

## Trích dẫn và dấu nháy đơn

Bởi vì chúng tôi có thể sử dụng các trích dẫn đơn hoặc trích dẫn kép trong Python, chúng tôi cũng có thể nhúng trích dẫn trong một chuỗi bằng cách sử dụng dấu ngoặc kép trong một chuỗi được đặt bởi các trích dẫn đơn:

Thông tin: Để làm theo cùng với mã ví dụ trong hướng dẫn này, hãy mở vỏ tương tác Python trên hệ thống cục bộ của bạn bằng cách chạy lệnh

sample.replace("'", r"\'")
3. Sau đó, bạn có thể sao chép, dán hoặc chỉnh sửa các ví dụ bằng cách thêm chúng sau dấu nhắc
sample.replace("'", r"\'")
4.
To follow along with the example code in this tutorial, open a Python interactive shell on your local system by running the
sample.replace("'", r"\'")
3 command. Then you can copy, paste, or edit the examples by adding them after the
sample.replace("'", r"\'")
4 prompt.

'Sammy says, "Hello!"'

Hoặc, để sử dụng dấu nháy đơn sở hữu trong một chuỗi được đặt bởi các trích dẫn kép:

"Sammy's balloon is red."

Theo cách chúng tôi kết hợp các trích dẫn đơn và đôi, chúng tôi có thể kiểm soát việc hiển thị các dấu ngoặc kép và dấu nháy đơn trong chuỗi của chúng tôi.

## Nhiều dòng

In chuỗi trên nhiều dòng có thể làm cho văn bản dễ đọc hơn đối với con người. Với nhiều dòng, các chuỗi có thể được nhóm thành văn bản sạch và có trật tự, được định dạng thành một chữ cái hoặc được sử dụng để duy trì sự phá vỡ của một bài thơ hoặc lời bài hát.

Để tạo các chuỗi trải dài nhiều dòng, ba trích dẫn đơn

sample.replace("'", r"\'")
5 hoặc ba dấu ngoặc kép
sample.replace("'", r"\'")
6 được sử dụng để gửi kèm theo chuỗi.

'''
This string is on 
multiple lines
within three single 
quotes on either side.
'''
"""
This string is on 
multiple lines
within three double 
quotes on either side.
"""

Với trích dẫn ba, bạn có thể in các chuỗi trên nhiều dòng để tạo văn bản, đặc biệt là văn bản dài, dễ đọc hơn.

## ký tự thoát

Một cách khác để định dạng chuỗi là sử dụng một ký tự thoát. Tất cả các ký tự Escape đều bắt đầu bằng phím Backslash (

sample.replace("'", r"\'")
7) kết hợp với một ký tự khác trong một chuỗi để định dạng chuỗi đã cho theo một cách nhất định.escape character. Escape characters all start with the backslash key (
sample.replace("'", r"\'")
7 ) combined with another character within a string to format the given string a certain way.

Dưới đây là danh sách một số nhân vật thoát phổ biến:

Nhân vật thoátLàm thế nào nó định dạng
\Dòng mới trong chuỗi đa dòng
\\Dấu vết chéo ngược
'Apostrophe hoặc trích dẫn đơn
"Báo giá kép
\NNgắt dòng
\ tTab (thụt ngang)

Hãy cùng sử dụng một ký tự thoát để thêm dấu ngoặc kép vào ví dụ về các dấu ngoặc kép ở trên, nhưng lần này chúng tôi sẽ sử dụng trích dẫn kép:

print("Sammy says, \"Hello!\"")

Output

Sammy says, "Hello!"

Bằng cách sử dụng ký tự Escape

sample.replace("'", r"\'")
8, chúng tôi có thể sử dụng dấu ngoặc kép để gửi một chuỗi bao gồm văn bản được trích dẫn giữa các trích dẫn kép.

Tương tự, chúng ta có thể sử dụng ký tự Escape

sample.replace("'", r"\'")
9 để thêm dấu nháy đơn trong một chuỗi được đặt trong các trích dẫn đơn:

>>> sample = "hello'world"
>>> import json
>>> print json.dumps(sample)
"hello\'world"
0
>>> sample = "hello'world"
>>> import json
>>> print json.dumps(sample)
"hello\'world"
1

Bởi vì chúng ta hiện đang sử dụng ký tự thoát, chúng ta có thể có một dấu nháy đơn trong một chuỗi sử dụng các trích dẫn đơn.

Khi chúng tôi sử dụng trích dẫn ba như chúng tôi đã làm ở trên, chúng tôi sẽ thấy rằng có một không gian ở trên cùng và dưới cùng khi chúng tôi in chuỗi. Chúng ta có thể loại bỏ các không gian đó bằng cách sử dụng khóa thoát

sample.replace("'", r"\'")
7 ở đầu chuỗi của chúng tôi và một lần nữa ở cuối chuỗi trong khi giữ văn bản trong chương trình rất dễ đọc.

>>> sample = "hello'world"
>>> import json
>>> print json.dumps(sample)
"hello\'world"
2

Tương tự, chúng ta có thể sử dụng ký tự thoát

sample.replace("'", "\\'")
1 để phá vỡ các đường mà không cần nhấn phím
sample.replace("'", "\\'")
2 hoặc
sample.replace("'", "\\'")
3:

>>> sample = "hello'world"
>>> import json
>>> print json.dumps(sample)
"hello\'world"
3
>>> sample = "hello'world"
>>> import json
>>> print json.dumps(sample)
"hello\'world"
4

Chúng ta cũng có thể kết hợp các ký tự thoát hiểm. Hãy để in một chuỗi nhiều dòng và bao gồm khoảng cách tab cho một danh sách được chia thành từng khoản, ví dụ:

>>> sample = "hello'world"
>>> import json
>>> print json.dumps(sample)
"hello\'world"
5
>>> sample = "hello'world"
>>> import json
>>> print json.dumps(sample)
"hello\'world"
6

Các thụt ngang được cung cấp với ký tự thoát

sample.replace("'", "\\'")
4 đảm bảo sự liên kết trong cột thứ hai trong ví dụ trên, làm cho đầu ra cực kỳ dễ đọc cho con người.

Mặc dù nhân vật Escape

sample.replace("'", "\\'")
1 hoạt động tốt cho các chữ viết ngắn, điều quan trọng là phải đảm bảo rằng mã nguồn cũng có thể đọc được đối với con người. Trong trường hợp các chuỗi dài, cách tiếp cận ba trích dẫn đối với các chuỗi đa dòng thường là thích hợp hơn.

Các ký tự thoát được sử dụng để thêm định dạng bổ sung vào các chuỗi có thể khó hoặc không thể đạt được. Không có ký tự thoát, làm thế nào bạn sẽ xây dựng chuỗi

sample.replace("'", "\\'")
6?

## chuỗi thô

Điều gì sẽ xảy ra nếu chúng ta không muốn định dạng đặc biệt trong chuỗi của chúng ta? Ví dụ: chúng ta có thể cần phải so sánh hoặc đánh giá các chuỗi mã máy tính sử dụng dấu gạch chéo ngược có chủ đích, vì vậy chúng tôi đã giành chiến thắng muốn Python sử dụng nó như một ký tự thoát.

Một chuỗi thô bảo Python bỏ qua tất cả các định dạng trong một chuỗi, bao gồm cả các ký tự thoát.raw string tells Python to ignore all formatting within a string, including escape characters.

Chúng tôi tạo một chuỗi thô bằng cách đặt một

sample.replace("'", "\\'")
7 ở phía trước chuỗi, ngay trước khi dấu ngoặc kép bắt đầu:

>>> sample = "hello'world"
>>> import json
>>> print json.dumps(sample)
"hello\'world"
7
>>> sample = "hello'world"
>>> import json
>>> print json.dumps(sample)
"hello\'world"
8

Bằng cách xây dựng một chuỗi thô bằng cách sử dụng

sample.replace("'", "\\'")
7 trước một chuỗi đã cho, chúng ta có thể giữ lại các dấu gạch chéo ngược và các ký tự khác được sử dụng làm ký tự thoát.

##Conclusion

Hướng dẫn này đã đi qua một số cách để định dạng văn bản trong Python 3 thông qua làm việc với các chuỗi. Bằng cách sử dụng các kỹ thuật như ký tự thoát hoặc chuỗi thô, chúng tôi có thể đảm bảo rằng các chuỗi của chương trình của chúng tôi được hiển thị chính xác trên màn hình để người dùng cuối có thể dễ dàng đọc tất cả các văn bản đầu ra.

Tiếp tục tìm hiểu thêm về các chuỗi bằng cách xem xét các hướng dẫn sau:

  • Giới thiệu về các chức năng chuỗi
  • Cách lập chỉ mục và cắt dây
  • Cách sử dụng chuỗi định dạng chuỗi

Làm thế nào để bạn thoát khỏi một dấu nháy đơn trong Python?

Trong Python, ký tự Backslash \ được sử dụng để truyền tải các chuỗi thoát.Nhân vật mà chúng tôi muốn trốn thoát được thêm vào ngay sau sự chéo ngược này.backslash character \ is used to convey escape sequences. The character that we want to escape is added immediately after this backslash.

Làm thế nào để bạn xử lý một dấu nháy đơn trong một chuỗi trong Python?

Đối với cách biểu diễn một dấu nháy đơn như một chuỗi trong Python, bạn có thể chỉ cần bao quanh nó bằng các trích dẫn kép ("'") hoặc bạn có thể thoát nó trong các trích dẫn đơn (' \ '').Lưu câu trả lời này.surround it with double quotes ( "'" ) or you can escape it inside single quotes ( '\'' ). Save this answer.

Làm thế nào để bạn thoát khỏi một dấu nháy đơn trong một chuỗi?

Sử dụng ký tự Escape (\) bằng phương pháp này, chúng ta có thể sử dụng các dấu nháy đơn trong các chuỗi được xây dựng với ". 'Chúng tôi sẽ sử dụng một dấu nháy đơn một cách an toàn trong các trích dẫn đơn. Using this method, we can use apostrophes in strings built with " . 'We\'re safely using an apostrophe in single quotes.

Làm thế nào để bạn thoát khỏi dấu phẩy đảo ngược trong Python?

Làm thế nào để thoát khỏi trích dẫn trong một chuỗi.Để thêm các chuỗi được trích dẫn bên trong các chuỗi, bạn cần thoát khỏi các dấu ngoặc kép.Điều này xảy ra bằng cách đặt một dấu gạch chéo ngược (\) trước khi ký tự thoát ra.placing a backslash ( \ ) before the escaped character.