Tag: 转义

在java中转义javascript字符串

我需要将它变成java中的字符串: document.write(” \”); 有人可以帮忙吗? 我一直在努力,结果就像这样…… return “document.write(\” \”); “; 哪个不起作用,因为我需要在UpArrow.png之前和之后双重转义引号。 因为它需要在javascript而不是java中进行转义。

使用Java中特殊字符之前的转义替换特殊字符

在我的java代码中,如果一个字符串输入有任何提到的特殊字符,那么前面应该有\\ 特殊字符集是{+, -, &&, ||, !, (, ), {, },[, ], ^, “”, ~, *, ?, :, \} 。 我尝试使用String.replaceAll(old,new)但令我惊讶的是它不起作用,即使我为’old’和’new’提供了正确的值。 if old=”:”,new=”\:” 我将特殊字符放在一个String数组中,在for循环中迭代它,检查它是否存在于字符串中,如果是,则input.replaceAll(“:”,”\\:”) 。 但它没有给我预期的输出。 请帮忙 String[] arr = { “+”, “-“, “&&”, “||”, “!”, “(“, “)”, “{“, “}”, “[“, “]”, “^”, “\””, “~”, “*”, “?”, “:”, “\\”, “AND”, “OR” }; for (int i = […]

使用JAXB Marshaller处理XML转义字符(例如引号)

我需要使用JAXB Marshaller(JAXB 2.2版)将XML java对象序列化为XML文件。 现在在xml对象中,我有一个包含String值的标记,这样: ” **”done”** ” 现在您可以看到此字符串值再次包含标记。 我希望在xml文件中以相同的方式编写它。 但JAXB Marshaller会转换这些值,例如: “&”lt;YYYYY”&”gt;”&”#xD;done ……等等 我无法使用JAXB 2.2单独处理这些转义字符。无论如何它是否可能? 在这方面的任何帮助都会很棒.. 在此先感谢Abhinav Mishra

使用hibernate标准,有没有办法逃避特殊字符?

对于这个问题,我们希望避免编写特殊查询,因为查询必须在多个数据库中不同。 仅使用hibernate标准,我们希望能够转义特殊字符。 这种情况是需要能够转义特殊字符的原因: 假设我们在数据库中有表’foo’。 表’foo’只包含1个字段,称为’name’。 “名称”字段可以包含在数据库中可能被视为特殊的字符。 这种名称的两个例子是’name_1’和’name%1’。 “_”和“%”都是特殊字符,至少在Oracle中是这样。 如果用户想要在数据库中输入这些示例之后搜索其中一个示例,则可能会出现问题。 criterion = Restrictions.ilike(“name”, searchValue, MatchMode.ANYWHERE); return findByCriteria(null, criterion); 在此代码中,“searchValue”是用户为应用程序提供的用于搜索的值。 如果用户想要搜索’%’,则用户将返回数据库中的每个’foo’条目。 这是因为’%’字符表示字符串匹配的“任意数量的字符”通配符,而hibernate生成的SQL代码将如下所示: select * from foo where name like ‘%’ 有没有办法告诉hibernate逃避某些字符,或创建一个非数据库类型特定的解决方法?

你如何逃避属性文件中的冒号(:)?

我正在使用属性文件来存储我的应用程序的配置值。 在其中一个实例中,我必须将值存储为xxx:yyy:zzz 。 当我这样做时,冒号用反斜杠\转义,导致属性文件中的值显示为xxx\:yyy\:zzz 。 我知道冒号:是Properties Java类的标准分隔符。 但是我仍然需要保存值而不使用反斜杠\ 。 有关如何处理这个的任何建议?

如何在java中unescape XML

我需要unescape包含转义的XML标记的xml字符串: < > & etc… 我确实找到了一些可以执行此任务的库,但我宁愿使用一种可以执行此任务的方法。 有人可以帮忙吗? 欢呼声,Bas Hendriks

转义Java正则表达式中的特殊字符

在Java或任何开源库中是否有任何方法可以转义(不引用)特殊字符(元字符),以便将其用作正则表达式? 这在动态构建正则表达式时非常方便,无需手动转义每个单独的字符。 例如,考虑一个简单的正则表达式,如\d+\.\d+ ,匹配小数点为1.2 ,以及以下代码: String digit = “d”; String point = “.”; String regex1 = “\\d+\\.\\d+”; String regex2 = Pattern.quote(digit + “+” + point + digit + “+”); Pattern numbers1 = Pattern.compile(regex1); Pattern numbers2 = Pattern.compile(regex2); System.out.println(“Regex 1: ” + regex1); if (numbers1.matcher(“1.2”).matches()) { System.out.println(“\tMatch”); } else { System.out.println(“\tNo match”); } System.out.println(“Regex 2: ” […]

如何为模式编译转义方括号

我用逗号分隔正则表达式列表: .{8},[0-9],[^0-9A-Za-z ],[AZ],[az] 我对逗号进行了分割。 现在我正在尝试将此正则表达式与生成的密码进行匹配。 问题是Pattern.compile不喜欢没有转义的方括号。 有些人可以给我一个简单的函数,它接受如下字符串: [0-9]并返回转义字符串\[0-9\] 。

使hibernate反引所有表/列名称

我面临着与MySQL 5.0一起编写的遗留系统,现在需要将其迁移到MysQL 5.5(要求)。 我发现一列名为maxvalue ,它似乎是MySQL 5.5中的系统字。 因此,包含此列的所有Hibernate查询都会出现语法错误: 引起:java.sql.BatchUpdateException:您的SQL语法中有错误; 检查与MySQL服务器版本对应的手册,以便在’maxvalue附近使用正确的语法 似乎Hibernate并不会自动反复引用`围绕字段名称。 如果我提取查询,则反引用`maxvalue`它在MySQL 5.5中正确运行。 我找到了解决方案如何明确强制特定字段/表的反引号。 问题是我不确定有多少其他列名会产生这样的问题。 有没有办法告诉Hibernate自动反引所有表/列名称? (这将产生有效的SQL,我不知道为什么默认情况下它没有为MySQL做到这一点)。 编辑 : 这个讨论几乎让我相信我想要的是不可能的。

Java Runtime exec()无法正确转义字符

这可能已经在之前得到了解答,但那是关于unicode的,我不认为这是unicode(它是ASCII,所以……)。 当我在终端中执行此操作时,没有任何问题 vboxmanage setextradata “Test Machine” “VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/HostPort” 2222 但是当我在Java中使用以下内容时 Runtime.getRuntime().exec(“vboxmanage setextradata \”Test Machine\” \”VBoxInternal/Devices/pcnet/0/LUN#0/Config/ssh/HostPort\” 2222″); 它返回一个错误:unregistered vm’“TestMachine”’ 其中包含空格的参数(如Test \ Machine)也是如此,然后它不会逃避空间。 现在我认为这与字符编码有关,但我没有看到任何设置o_O的选项