我正在编写一个Python程序,该程序创建一个JSON文件作为其输出。在JSON文件中有字符串,并且在这些字符串中有引号。我想使用反斜杠转义那些引号,而这样做的唯一方法是将反斜杠插入到我正在写入此文件的字符串中。如何在字符串中插入反斜杠而不将其用作转义符?
我正在尝试使用enum Type {
A = 'A',
B = 'B',
}
interface A {
kind: Type.A;
a: number;
}
interface B {
kind: Type.B;
b: number;
}
class TestClass {
constructor(data: A | B) {
if(data.kind === Type.A) {
data.a = 5;
} else {
data.a // Property 'a' does not exist on type 'TypeKeys<T>'.
}
}
}
new TestClass({ kind: Type.A, a: 10 })
//Argument of type '{ a: number; }' is not assignable to parameter of type '{ b: number; }'.
new TestClass({ kind: Type.B, a: 10 })
字符串函数将.replace
的所有实例替换为"
的实例。我还尝试用\"
和"
的实例替换\\"
的所有实例,但是这些都不起作用。
\\\"
我正在尝试获取字符串以输出确切的短语:string = "\"The strings themselves are quotes, formatted like this\" - Some Guy"
string.replace("\"","\\\"") # Just doing \\" gives me an error as the backslashes cancel each other out, leaving you just three quote marks.
答案 0 :(得分:1)
根据之前的评论,您可能正在寻找以下内容:
import json
string = "\"The strings themselves are quotes, formatted like this\" - Some Guy"
print(json.dumps(string))
答案 1 :(得分:1)
忽略这一事实,您应该使用json方法来完成您要实现的目标:Replace返回带有修改后的子字符串的新字符串。因此,您的方法是正确的,只需要重新分配即可:
string = "\"The strings themselves are quotes, formatted like this\" - Some Guy"
string = string.replace("\"", "\\\"")
print(string)
这给您:
\“字符串本身是引号,格式如下\”-某人