我想知道是否有人可以帮我弄清楚如何解析具有以下格式的字符串:
;field1-field2-fieldN;field1-field2-fieldN;
Run Code Online (Sandbox Code Playgroud)
每条记录都以';'分隔 并且记录中的每个字段由" - "分隔.复杂的是,各个字段可能包含转义的分隔符字符,如"\;" 要么 "-".这导致我下面的简单解析代码失败.所以我想要做的是提出与分隔符匹配但与转义分隔符不匹配的正则表达式.我的正则表达式知识并不是那么好,但我希望必须有一种方法可以将"([^ \;])"和"([;])"结合起来得到我需要的东西.
public static List<ParsedRecord> parse(String data) {
List<ParsedRecord> parsedRecords = new List<ParsedRecord>();
String[] records = data.split(";");
for (String record : records) {
String[] fields = data.split("-");
parsedRecords.add(new parsedRecord(fields));
}
return parsedRecords;
}
Run Code Online (Sandbox Code Playgroud)
首先十分感谢.
我正在尝试将代码点(例如 )转换\\u00FC为它代表的字符。
import javax.swing.JOptionPane;\n\npublic class Test {\n public static void main(String[] args) {\n String in = JOptionPane.showInputDialog("Write something in here");\n System.out.println("Input: " + in);\n // Do something before this line\n String out = in;\n System.out.print("And Now: " + out);\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n\n举个例子来解释我的意思:
\n\n第一行控制台:Input: Hall\\u00F6
第二条控制台线:And Now: Hall\xc3\xb6
编辑:因为有时它不适用于 The Trombone Willy 的答案中的多个 Unicode,这里是修复的代码:
\n\npublic static String unescapeUnicode(String s) {\n StringBuilder r = new StringBuilder();\n for (int i = 0; i < …Run Code Online (Sandbox Code Playgroud)