0

我有几行输入

"callbackProxy({"7103/usatoday/high_impact/entertainment/main":{"_type_":"html","_expandable_":false,"_html_":"\x3chtml\x3e\x3chead\x3e\x3cstyle\x3e\x3c!--\na:link { color: #000000 }a:visited { color: #000000 }a:hover { color: #000000 }a:active { color: #000000 } --\x3e\x3c/style\x3e\x3cscript\x3e\x3c!--\n(function(){var d\x3d{};window.ss\x3dfunction(a){void 0!\x3d\x3dd[a]?d[a]++:d[a]\x3d1;var e\x3ddocument.getElementById(a),b\x3dd[a];if(window.css)css(a,\x22nm\x22,b,void 0,void 0)"

在将其分配给字符串之前,我需要替换\xwith\\x"with 。\"因为只是\x给出错误并且"在字符串之间也会给出错误。

提前致谢。

4

3 回答 3

0

您可以像这样在一行中执行此操作:

str = str.replaceAll("\"|(\\\\x)", "\\$0");
于 2013-06-18T00:26:21.550 回答
0

如果您只是复制和粘贴此内容,则需要执行以下替换:

  • \x\u00
  • "\"
  • \u0022\"

(请注意,最后一个不是非常正常的要求,但您的示例代码包含\x22哪些将被翻译成\u0022Java 字符串文字中不允许的)

首先,您可以将正则表达式的匹配项替换\\x\u00.

后两个可以用一个正则表达式来完成,方法是用 替换匹配"|\\u0022\"

于 2013-06-17T22:23:57.933 回答
-1

假设字符串在变量 x 中

x = x.replace("\\x","\\\\x");
x = x.replace("\"","\\\"");

这应该够了吧

于 2013-06-17T22:04:54.620 回答