Hướng dẫn python replace single quote with escape - python thay thế trích dẫn đơn bằng thoát

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 python replace single quote with escape - python thay thế trích dẫn đơn bằng thoát

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 json (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

578K62 Huy hiệu vàng845 Huy hiệu bạc859 Huy hiệu Đồng62 gold badges845 silver badges859 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

s = 'don \' t sử dụng theo cách này 'Outline
You can use \ to escape quotes in Python.
If you want to delay python program by 500 ms, then you need to pass 0.5 as parameter to sleep method.

S1 = "Mẫu \" Mẫu \ "Mẫu"='Don\'t go'

Don lồng sử dụng theo cách này mẫu mẫu ”mẫu”(s)//prints Don't go

Sử dụng \ với replace() để thoát khỏi trích dẫn trong Python

Chúng ta cũng có thể sử dụng hàm replace() để chèn trích dẫn thoát vào một chuỗi. Chúng tôi chỉ cần thay thế các trích dẫn bằng

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

s = 'mẫu "mẫu" mẫu'

s1 = s.replace ('"', '\"'))

  • Sử dụng \ để thoát khỏi trích dẫn trong Python
  • Sử dụng \ với thay thế () để thoát khỏi trích dẫn trong Python
  • Sử dụng json.dumps để thoát khỏi trích dẫn trong Python
  • Sử dụng ba trích dẫn đơn hoặc đôi để thoát khỏi báo giá trong Python
  • Sử dụng R để bao gồm \ và trích dẫn trong chuỗi

Sử dụng \ để thoát khỏi trích dẫn trong Python

Bây giờ hãy tưởng tượng rằng bạn có một chuỗi mà bạn muốn in. Chuỗi này chứa một trích dẫn duy nhất dưới dạng dấu nháy đơn. Trình biên dịch sẽ giải thích điều này một cách khác nhau và nêu ra một lỗi và hiển thị cú pháp là không hợp lệ.

Ví dụ,

Nhập JSONjson

s='Don'tusethisway'='Don'tusethisway'

print(s)    (s)    

Bây giờ vì Python sử dụng cả trích dẫn đơn và dấu ngoặc kép để lưu trữ giá trị chuỗi, chúng ta có thể sử dụng trích dẫn kép và vấn đề trên sẽ biến mất và nếu chúng ta giải quyết cùng một vấn đề cho trích dẫn kép thì chúng ta có thể gửi chúng trong các trích dẫn đơn. Tuy nhiên, đây không phải là một giải pháp lý tưởng cho vấn đề.

Đối với các tình huống như vậy, chúng ta có thể sử dụng trình tự thoát. Chúng ta có thể sử dụng cả trích dẫn đơn hoặc dấu ngoặc kép sau một ký tự phản ứng dữ dội để đưa chúng vào một chuỗi.

Xem mã sau.

s = 'don \' t sử dụng theo cách này '='Don\'t use this way'

S1 = "Mẫu \" Mẫu \ "Mẫu"="Sample \"Sample\" Sample"

print(s,s1)    (s,s1)    

Output:

Don lồng sử dụng theo cách này mẫu mẫu ”mẫu”

Sử dụng \ với replace() để thoát khỏi trích dẫn trong Python

Chúng ta cũng có thể sử dụng hàm replace() để chèn trích dẫn thoát vào một chuỗi. Chúng tôi chỉ cần thay thế các trích dẫn bằng

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

Ví dụ,

s = 'mẫu "mẫu" mẫu'='sample "sample" sample'

s1 = s.replace ('"', '\"'))=s.replace('"','\"')

print(s)    (s)    

Output:

Mẫu mẫu “Mẫu”

Sử dụng >>> sample = "hello'world" >>> import json >>> print json.dumps(sample) "hello\'world" 2 để thoát khỏi trích dẫn trong Python

Ngay cả hàm

>>> sample = "hello'world"
>>> import json
>>> print json.dumps(sample)
"hello\'world"
3 từ thư viện JSON, lấy một chuỗi và trả về một chuỗi mới bằng cách thêm hai dấu gạch chéo ngược ở bất cứ nơi nào nó gặp phải các trích dẫn kép. Vì hai dấu gạch chéo ngược chỉ được thêm một lần được coi là một chuỗi thoát và cái còn lại được in.

Ví dụ,

s = 'mẫu "mẫu" mẫu'json

s = 'mẫu "mẫu" mẫu'='sample "sample" sample'

print(json.dumps(s))    (json.dumps(s))    

Output:

s1 = s.replace ('"', '\"'))

Mẫu mẫu “Mẫu”

Sử dụng >>> sample = "hello'world" >>> import json >>> print json.dumps(sample) "hello\'world" 2 để thoát khỏi trích dẫn trong Python

Ngay cả hàm

>>> sample = "hello'world"
>>> import json
>>> print json.dumps(sample)
"hello\'world"
3 từ thư viện JSON, lấy một chuỗi và trả về một chuỗi mới bằng cách thêm hai dấu gạch chéo ngược ở bất cứ nơi nào nó gặp phải các trích dẫn kép. Vì hai dấu gạch chéo ngược chỉ được thêm một lần được coi là một chuỗi thoát và cái còn lại được in.

Ví dụ,

s="""="""

s = 'mẫu "mẫu" mẫu'

"Multi"Multi"

'Line'

s1 = s.replace ('"', '\"'))

Mẫu mẫu “Mẫu”""

print(s)    (s)    

Output:

Sử dụng

>>> sample = "hello'world"
>>> import json
>>> print json.dumps(sample)
"hello\'world"
2 để thoát khỏi trích dẫn trong Python
“Multi”
‘Line’
String

Ngay cả hàm

>>> sample = "hello'world"
>>> import json
>>> print json.dumps(sample)
"hello\'world"
3 từ thư viện JSON, lấy một chuỗi và trả về một chuỗi mới bằng cách thêm hai dấu gạch chéo ngược ở bất cứ nơi nào nó gặp phải các trích dẫn kép. Vì hai dấu gạch chéo ngược chỉ được thêm một lần được coi là một chuỗi thoát và cái còn lại được in.

Nhập JSON

Mẫu mẫu \ mẫu \ mẫu

Ví dụ,

s = 'mẫu "mẫu" mẫu'=r'sample \'sample\' sample'

print(s)    (s)    

Output:

s1 = s.replace ('"', '\"'))

Mẫu mẫu “Mẫu”

Sử dụng

>>> sample = "hello'world"
>>> import json
>>> print json.dumps(sample)
"hello\'world"
2 để thoát khỏi trích dẫn trong Python