Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将\替换为\\和";用\";在指定给字符串之前_Java_Regex_String_Parsing - Fatal编程技术网

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注册表中使用\\。