我有一个输入需要存储在字符串中以便我可以操作,但我无法存储为字符串,因为输入有多个引号。
例如
string s = "dfasdf" : "FASDFSD" ["FSADFSA"];
有两种方法可以做到:
@""
字符串,并加双引号。 "\"This string is quoted\""
或者
@"""This string is quoted"""
\"
您可以通过编写而不是仅转义应视为数据一部分的引号"
:
string s = "\"dfasdf\" : \"FASDFSD\" [\"FSADFSA\"]";
您可以使用\"
以注入双引号
一种解决方案是将字符串中所需的每个引号文字加倍,如下所示:
string s = """dfasdf"":""FASDFSD""[""FSADFSA""]";
另一个是逃避他们:
string s ="\"dfasdf\":\"FASDFSD\"[\"FSADFSA\"]";
使用转义很好:
string s = "\"dfasdf\" : \"FASDFSD\" [\"FSADFSA\"]";
您可以通过写两次在逐字字符串中包含双引号字符(请参阅下面的注释)
所以如果你需要存储
hello "Hi!"
你需要像这样存储它
string s=@"hello ""Hi!"" ";
或者
逃脱它使用\
string s="hello \"Hi!\" ";
笔记
逐字字符串不解释控制字符,如 \n,\r..所以当 \n,\r 用于逐字字符串时,它永远不会被解释。
所以string s="hello \n hi!";
将打印为
hello \n hi!
不是
hello
hi!