如何从 QString 中删除反斜杠?
How to remove backslashes from QString?
使用 QNetworkManager
get
方法我从 url.
收到 json
这样做:qDebug()<<(QString)reply->readAll();
结果是:
"\r\n[{\"id\":\"1\",\"name\":\"Jhon\",\"surname\":\"Snow\",\"phone\":\"358358358\"}]"
所以我在做 strReply = strReply.simplified();
,结果是:
"[{\"id\":\"1\",\"name\":\"Jhon\",\"surname\":\"Snow\",\"phone\":\"358358358\"}]"
但我不能像 Json 那样使用它来解析它以在我的 qt 程序中使用它。
所以我想我需要删除每个反斜杠 \
并获得:
"[{"id":"1","name":"Jhon","surname":"Snow","phone":"348348348"}]"
我尝试了 strReply.remove(QRegExp( "\\" ) );
,但是 \
的任何奇怪连接都会导致解释器将最后一个 \
之后的所有内容都视为字符串。
如documentation中所述,您可以使用删除功能删除字符
QString t = "Ali Baba";
t.remove(QChar('a'), Qt::CaseInsensitive);
// Will result "li Bb"
你可以用 '\\' 代替 'a' 来从你的 QString
中删除你的反斜杠
您可能 运行 喜欢 qDebug
转义引号和换行符的功能。您的字符串很可能实际上没有任何反斜杠。
当您尝试使用 qDebug()
打印字符串时,如果您不希望 qDebug() 在输出中人为地插入反斜杠,则需要使用 qDebug().noquote()
。
所以你的字符串应该没问题。它根本没有任何反斜杠。
使用 QNetworkManager
get
方法我从 url.
收到 json
这样做:qDebug()<<(QString)reply->readAll();
结果是:
"\r\n[{\"id\":\"1\",\"name\":\"Jhon\",\"surname\":\"Snow\",\"phone\":\"358358358\"}]"
所以我在做 strReply = strReply.simplified();
,结果是:
"[{\"id\":\"1\",\"name\":\"Jhon\",\"surname\":\"Snow\",\"phone\":\"358358358\"}]"
但我不能像 Json 那样使用它来解析它以在我的 qt 程序中使用它。
所以我想我需要删除每个反斜杠 \
并获得:
"[{"id":"1","name":"Jhon","surname":"Snow","phone":"348348348"}]"
我尝试了 strReply.remove(QRegExp( "\\" ) );
,但是 \
的任何奇怪连接都会导致解释器将最后一个 \
之后的所有内容都视为字符串。
如documentation中所述,您可以使用删除功能删除字符
QString t = "Ali Baba";
t.remove(QChar('a'), Qt::CaseInsensitive);
// Will result "li Bb"
你可以用 '\\' 代替 'a' 来从你的 QString
中删除你的反斜杠您可能 运行 喜欢 qDebug
转义引号和换行符的功能。您的字符串很可能实际上没有任何反斜杠。
当您尝试使用 qDebug()
打印字符串时,如果您不希望 qDebug() 在输出中人为地插入反斜杠,则需要使用 qDebug().noquote()
。
所以你的字符串应该没问题。它根本没有任何反斜杠。