在 java 中按字符拆分字符串

2022-09-03 16:24:28

我从网上得到一个字符串,看起来像这样:

Latest Episode@04x22^Killing Your Number^May/15/2009

然后我需要存储,并在不同的变量中,但它不起作用。04x22Killing Your NumberMay/15/2009

String[] all = inputLine.split("@");
String[] need = all[1].split("^");
show.setNextNr(need[0]);
show.setNextTitle(need[1]);
show.setNextDate(need[2]);

现在它只存储,整个字符串NextNr

04x22^Killing Your Number^May/15/2009

怎么了?


答案 1

String.split(String regex)

该参数是一个规范表达式,在那里具有特殊含义;“锚定到开始”^

你需要做:

String[] need = all[1].split("\\^");

通过逃避你说“我的意思是字符'^'”^


答案 2

如果您有分隔符,但不知道它是否包含特殊字符,则可以使用以下方法

String[] parts = Pattern.compile(separator, Pattern.LITERAL).split(text);