如何在Java中转换特殊字符

时间:2017-06-22 11:00:16

标签: java string split special-characters

我从PostgreSQL DB获得了这些字符串:

"WITH DELIMITER E'\037'"
"WITH DELIMIER E'\01f'"
"WITH DELIMITER '|'"

我需要提取单引号之间的任何内容,并使用它来分割和连接字符串。一些事情:

String delimiter = delimiter.substring(delimiter.indexOf("'")+1, delimiter.indexOf("'",delimiter.indexOf("'")+1));
String[] splitString = originalString.split(delimiter);
//Do something with it...
String joinedString = StringUtils.join(splitString, delimiter);

问题是Java需要\ 037(从DB读取到字符串中)并将其读取为\\ 037(将打印为“\ 037”)并且我需要\ 037(特殊字符)进行拆分和连接功能

我需要一种方法来获取单引号(\ 037,\ 01f,|等)之间的值,并将它们转换为特殊字符。

那将是:

String originalString = "\\037"
String convertedString = "\037"

此外,管道(|)是 Java 中的元字符,为了让我拆分它,我必须执行以下操作:

String[] splitString = originalString.split(Pattern.quote("|"));

我不想做if条件,我想要更好的东西。 在此先感谢您的帮助

1 个答案:

答案 0 :(得分:0)

我认为你应该使用this。它更容易,你不关心特殊性格。