Hướng dẫn how do you handle a single quote in a string python? - làm thế nào để bạn xử lý một dấu ngoặc kép trong chuỗi 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 handle a single quote in a string python? - làm thế nào để bạn xử lý một dấu ngoặc kép trong chuỗi 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"
7 (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

Thoát các trích dẫn kép trong chuỗi: in ("\" một từ cần dấu ngoặc kép \ "") "một từ cần dấu ngoặc kép".

Để trích dẫn một chuỗi trong Python, hãy sử dụng các dấu ngoặc kép bên trong các dấu ngoặc kép hoặc ngược lại.

example1 = "He said 'See ya' and closed the door."
example2 = 'They said "We will miss you" as he left.'

print(example1)
print(example2)

Output:

He said 'See ya' and closed the door.
They said "We will miss you" as he left.

Ví dụ:

Chuỗi Python

Chuỗi Python là chuỗi các ký tự và số.

Một chuỗi được bọc xung quanh một tập hợp các trích dẫn đơn hoặc trích dẫn kép. Không có sự khác biệt trong đó bạn sử dụng.

Bất cứ điều gì đi vào bên trong các trích dẫn đều được hiểu là là văn bản khác, thay vào đó là một lệnh thực thi.

print("10 + 20")                  # Prints: 10 + 20
print("This # is not a comment")  # Prints: This # is not a comment
print("pow(2,3)")                 # Prints: pow(2, 3)

Để chứng minh, đây là một số ví dụ.

Trong mỗi ví dụ, có một hoạt động Python thường sẽ thực thi. Nhưng bởi vì biểu thức được bọc bên trong một chuỗi, biểu thức được in ra.

print("This "test" causes problems")

Result:

  File "example.py", line 1
    print("This "test" causes problems")
                 ^
SyntaxError: invalid syntax

Nhưng đây là nơi nó trở nên thú vị. Hãy để xem những gì xảy ra khi bạn đặt một báo giá kép bên trong một chuỗi:

  1. >>> sample = "hello'world"
    >>> import json
    >>> print json.dumps(sample)
    "hello\'world"
    
    8
  2. >>> sample = "hello'world"
    >>> import json
    >>> print json.dumps(sample)
    "hello\'world"
    
    9
  3. sample.replace("'", r"\'")
    
    0

Điều này xảy ra bởi vì trình thông dịch Python nhìn thấy một chuỗi biểu thức trong ba phần:

Nó nhìn thấy hai chuỗi và tham chiếu đến một đối tượng không tồn tại

>>> sample = "hello'world"
>>> import json
>>> print json.dumps(sample)
"hello\'world"
9. Vì vậy, nó không biết phải làm gì.

  1. Để xem xét vấn đề này, bạn có hai tùy chọn:
  2. Sử dụng các trích dẫn đơn trong trích dẫn đôi (và ngược lại). the quotes inside a string with a backslash.

Thoát khỏi các trích dẫn bên trong một chuỗi với một dấu gạch chéo ngược.

1. Trích dẫn duy nhất bên trong trích dẫn đôi

  • Để viết một chuỗi được trích dẫn bên trong một chuỗi khác trong Python
  • Sử dụng dấu ngoặc kép trong chuỗi bên ngoài và trích dẫn đơn trong chuỗi bên trong

Sử dụng các trích dẫn đơn trong chuỗi bên ngoài và dấu ngoặc kép trong chuỗi bên trong

example1 = "He said 'See ya' and closed the door."
example2 = 'They said "We will miss you" as he left.'

print(example1)
print(example2)

Output:

He said 'See ya' and closed the door.
They said "We will miss you" as he left.

Đây là một ví dụ:

Sau đó, bạn cần phải dùng đến những gì được gọi là trình tự thoát. Chúng làm cho nó có thể thêm nhiều trích dẫn trong một chuỗi như bạn muốn.

2. Cách thoát khỏi báo giá trong 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 (

sample.replace("'", r"\'")
2) trước khi nhân vật trốn thoát.

Trong trường hợp này, đặt nó trước bất kỳ dấu ngoặc kép nào bạn muốn trốn thoát.

Đây là một ví dụ.

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

Output:

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

Cách sử dụng dấu gạch chéo ngược trong chuỗi sau đó

Trong Python, dấu gạch chéo ngược là một nhân vật đặc biệt làm cho chuỗi thoát có thể.

Nhưng điều này cũng có nghĩa là bạn không thể sử dụng nó bình thường trong một chuỗi.

Ví dụ:

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

Output:

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

Để bao gồm một dấu gạch chéo ngược trong một chuỗi, hãy thoát nó với một dấu gạch chéo ngược khác. Điều này có nghĩa là viết một dấu gạch chéo ngược đôi (

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

Ví dụ:

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

Output:

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

Để bao gồm một dấu gạch chéo ngược trong một chuỗi, hãy thoát nó với một dấu gạch chéo ngược khác. Điều này có nghĩa là viết một dấu gạch chéo ngược đôi (sample.replace("'", r"\'") 3).

Sự kết luận

Hôm nay bạn đã học cách trích dẫn một chuỗi trong Python.

Cảm ơn vì đã đọc. Tôi hy vọng bạn thích nó!

Mã hóa hạnh phúc!

Đọc thêm

Python Double Trích dẫn so với trích dẫn đơn

Làm thế nào để bạn xử lý một trích dẫn duy nhất trong một chuỗi?

Một trích dẫn duy nhất không được sử dụng khi đã có một chuỗi được trích dẫn.Vì vậy, bạn có thể khắc phục vấn đề này bằng cách sử dụng dấu gạch chéo ngược sau khi báo giá.Ở đây, dấu gạch chéo ngược và một trích dẫn được sử dụng trong từ không phải là từ.Toàn bộ chuỗi được kèm theo dấu hiệu '$' khi bắt đầu khai báo biến.using a backslash following the single quote. Here the backslash and a quote are used in the “don't” word. The whole string is accompanied by the '$' sign at the start of the declaration of the variable.

Bạn có thể sử dụng các trích dẫn đơn trong Python không?

Trong Python, chuỗi các ký tự như vậy được bao gồm bên trong các trích dẫn đơn hoặc đôi.Theo như cú pháp ngôn ngữ có liên quan, không có sự khác biệt trong chuỗi được trích dẫn đơn hoặc kép.Cả hai đại diện có thể được sử dụng thay thế cho nhau.Both representations can be used interchangeably.

Làm thế nào để bạn in một trích dẫn duy nhất từ một chuỗi trong Python?

Bạn có thể làm điều này theo một trong ba cách:..
Sử dụng trích dẫn đơn và đôi với nhau: in ('"Một từ cần dấu ngoặc kép"') "Một từ cần dấu ngoặc kép".
Thoát các trích dẫn kép trong chuỗi: in ("\" một từ cần dấu ngoặc kép \ "") "một từ cần dấu ngoặc kép".