【发布时间】:2017-11-25 14:50:44
【问题描述】:
我有这些从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 条件,我想要更好的东西。 提前感谢您的帮助
【问题讨论】:
-
哇,你是对的!我使用了第二种解决方案,因为它更容易理解。感谢您的帮助!
标签: java string split special-characters