0

我有一个正在运行的 Web 服务,并且 Android 设备正在从中读取数据。我要发送的数据被服务器削减,以避免黑客问题。一旦它被转义,它就会被保存到数据库中。

但是当我再次读取这些数据时,它会像这样返回:“Baba O\'Riley”而不是“Baba O'Riley”。

我认为它非常“正确”,而我要做的是使用 PHP 中的 Stripslashes 之类的函数来清除我得到的反斜杠字符串。

http://es1.php.net/manual/es/function.stripslashes.php

但是,我在 Java 中找不到执行此操作的任何函数。

任何想法?

4

3 回答 3

5

您可以使用字符串.replace()函数。请参阅字符串替换反斜杠如何使用 java 将反斜杠替换为正斜杠?

String replacedStr = stringname.replace("\\", "");
于 2013-08-18T09:49:57.787 回答
0

我很难为此找到一个真正合适的 Java 函数,但这至少比当前接受的答案要好:

String replacedStr = stringname.replace("\\\\", "!~!").replace("\\", "").replace("!~!", "\\");

(替换 !~! 用一些不太可能出现在字符串中的字符序列)

此方法的工作原理是用一个足够不常见的标记替换双反斜杠以进行保管,剥离所有反斜杠,然后将不常见的标记改回单个反斜杠。它比 PHP 使用的状态机慢,因为它进行了三遍,但这不太可能产生明显的差异。

于 2014-01-27T23:03:58.227 回答
-1
\n,\r, \t,\v,\f,\e....

处理上面列出的字符时 JAVA 函数

 String replacedStr = stringname.replace("\\", "");

PHP函数不同

于 2016-01-18T08:01:30.923 回答