Java 将\替换为\\和";用\";在指定给字符串之前
我有几行输入作为参考Java 将\替换为\\和";用\";在指定给字符串之前,java,regex,string,parsing,Java,Regex,String,Parsing,我有几行输入作为参考 "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:a
"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)"
我需要将\x
替换为\\x
,“
替换为\”
,然后再将其分配给字符串。因为只有\x
给出错误,而字符串之间的也给出错误
提前感谢。让我们假设字符串位于变量x中
x = x.replace("\\x","\\\\x");
x = x.replace("\"","\\\"");
如果您只是复制和粘贴此文件,则需要执行以下替换操作:
\x
至\u00
“
至\”
\u0022
至\”
(请注意,最后一个不是非常正常的要求,但示例代码包含\x22
,它将被转换为\u0022
,这在Java字符串文本中是不允许的)
您可以这样一行完成:
str = str.replaceAll("\"|(\\\\x)", "\\$0");
我认为你的方向不对。你能解释一下输入是从哪里来的,最后你想用它做什么吗?你是否只需要转义它就可以把它硬编码到你的程序中?您可能只需在谷歌上搜索“字符串转义器”并找到一些在线实用程序即可。输入是一个包含各种URL和hexcode编码的.js(Javascript)文件。我需要将其转换为适当的js,其中\x3c被转换<,所有%URL编码也是如此。也许我有点困惑。你不能像处理普通注册表一样处理它吗?你只是把这个字符串从js文件复制粘贴到Java代码吗?但是x在assignmnet上无效,因为它只有\个,没有\\,即使x
是有效的,这也不起作用,因为要表示\literal,你需要在Java注册表中使用\\。