Làm thế nào tôi có thể thay thế các trích dẫn kép bằng dấu gạch chéo ngược và trích dẫn đôi trong Python?
>>> s = 'my string with "double quotes" blablabla'
>>> s.replace['"', '\\"']
'my string with \\"double quotes\\" blablabla'
>>> s.replace['"', '\\\"']
'my string with \\"double quotes\\" blablabla'
Tôi muốn có được những điều sau:
'my string with \"double quotes\" blablabla'
PHWD
Huy hiệu vàng 20K549 Huy hiệu bạc78 Huy hiệu đồng5 gold badges49 silver badges78 bronze badges
Khi được hỏi ngày 13 tháng 5 năm 2011 lúc 19:48May 13, 2011 at 19:48
Bạn nên sử dụng mô -đun
'my string with \"double quotes\" blablabla'
2. 'my string with \"double quotes\" blablabla'
3. Nó cũng có thể tuần tự hóa các loại dữ liệu Python khác.import json
>>> s = 'my string with "double quotes" blablabla'
>>> json.dumps[s]
> a = {'x':1}
>>> b = json.dumps[json.dumps[a]]
>>> b
'"{\\"x\\": 1}"'
>>> json.loads[json.loads[b]]
{u'x': 1}
Đã trả lời ngày 9 tháng 9 năm 2013 lúc 3:43Sep 9, 2013 at 3:43
Medhat Gayedhat GayedMedhat Gayed
2.35718 Huy hiệu bạc11 Huy hiệu đồng18 silver badges11 bronze badges
1
>>> s = 'my string with \\"double quotes\\" blablabla'
>>> s
'my string with \\"double quotes\\" blablabla'
>>> print s
my string with \"double quotes\" blablabla
>>>
Khi bạn chỉ yêu cầu 's', nó thoát khỏi \ cho bạn, khi bạn in nó, bạn sẽ thấy chuỗi một trạng thái 'thô' hơn. Vậy bây giờ...
>>> s = """my string with "double quotes" blablabla"""
'my string with "double quotes" blablabla'
>>> print s.replace['"', '\\"']
my string with \"double quotes\" blablabla
>>>
Đã trả lời ngày 13 tháng 5 năm 2011 lúc 19:54May 13, 2011 at 19:54
AndrewandrewAndrew
2.50416 huy hiệu bạc9 Huy hiệu đồng16 silver badges9 bronze badges
6
Tôi biết câu hỏi này đã cũ, nhưng hy vọng nó sẽ giúp ai đó. Tôi đã tìm thấy một plugin tuyệt vời cho những người đang sử dụng pycharm IDE: điều khiển chuỗi có thể dễ dàng thoát khỏi trích dẫn kép [và nhiều hơn nữa ...], plugin này rất tốt cho các trường hợp bạn biết chuỗi sẽ là gì. Đối với các trường hợp khác, sử dụng
'my string with \"double quotes\" blablabla'
3 sẽ là giải pháp được đề xuấtstr_to_escape = 'my string with "double quotes" blablabla'
after_escape = 'my string with \"double quotes\" blablabla'
Đã trả lời ngày 20 tháng 2 năm 2021 lúc 17:11Feb 20, 2021 at 17:11
JSON [Tôi đang làm việc với]: Jsonlinter xác nhận đây là một JSON hợp lệ.
{
"errors": [
{
"params": {
"password": "size must be between 4 and 30",
"loginId": "must match \"^[a-zA-Z0-9_]*$\""
}
}
]
}
Cố gắng 1 [sử dụng JsonParser::
String str = '{ "errors": [ { "params": { "password": "size must be between 4 and 30", "loginId": "must match \"^[a-zA-Z0-9_]*$\"" } } ] }';
JSONParser parser = JSON.createParser[str];
while[parser.nextToken[] != null]{
parser.nextToken[];
}
Thất bại:
▸ Lỗi: System.JSonException: ký tự không mong muốn ['^' [mã 94]]: is ▸ mong đợi dấu phẩy sẽ tách các mục đối tượng tại vị trí đầu vào [1,99] ▸ Lỗi: class.system.jsonparser.nexttoken: dòng 94, cột 1 ▸ Ẩn danh: Dòng 3, Cột 1 ▸ Ẩn danh
AnonymousBlock: line 3, column 1
Cố gắng 2 [tùy chọn JSON2APEX]::
public class JSON2Apex {
public class Errors {
public Params params;
}
public List errors;
public class Params {
public String password;
public String loginId;
}
}
String str = '{ "errors": [ { "params": { "password": "size must be between 4 and 30", "loginId": "must match \"^[a-zA-Z0-9_]*$\"" } } ] }';
JSON2Apex obj = [JSON2Apex]JSON.deserialize[str, JSON2Apex.class];
Fails:
▸ Lỗi: System.JSonException: ký tự không mong muốn ['^' [mã 94]]: is ▸ mong đợi dấu phẩy để tách các mục đối tượng tại [dòng: 1, cột: 99] ▸ error: class.system.json.deserialize: dòng 15 , Cột 1 ▸ Anonymousblock: Dòng 2, Cột 1 ▸ Ẩn danh
Nỗ lực 3 [Deserializeunty]::
'my string with \"double quotes\" blablabla'
0Fails:
▸ Lỗi: System.JSonException: ký tự không mong muốn ['^' [mã 94]]: is ▸ mong đợi dấu phẩy để tách các mục đối tượng tại [dòng: 1, cột: 99] ▸ error: class.system.json.deserializedyped: dòng 11 , Cột 1 ▸ Anonymousblock: Dòng 2, Cột 1 ▸ Ẩn danh
Cố gắng 4 [thay thế vấn đề gây ra báo giá kép trong JSON]::
'my string with \"double quotes\" blablabla'
1Vẫn thất bại:
▸ Lỗi: System.JSonException: ký tự không mong muốn ['^' [mã 94]]: is ▸ mong đợi dấu phẩy để tách các mục đối tượng tại [dòng: 1, cột: 99] ▸ error: class.system.json.deserializedyped: dòng 11 , Cột 1 ▸ Anonymousblock: Dòng 2, Cột 1 ▸ Ẩn danh
Tôi đã xem xét các câu hỏi tương tự dưới đây nhưng vẫn không thấy bất kỳ giải pháp nào:
- Json và thoát khỏi trích dẫn kép
- Thay thế dấu ngoặc kép bằng trích dẫn đơn trong chuỗi JSON