java我试图在split()方法中使用多个符号拆分字符串,但它不起作用
我正在尝试拆分我的正则表达式,但它不会因为某种原因而拆分。这是我的密码
String str = "sdef@srdfsrd[es[edf@edfv";
String[] arrOfStr = str.split("\\@\\[");
for (String a : arrOfStr)
{
System.out.println(a);
}
输出:
sdef@srdfsrd[es[edf@edfv
预期产出:
sdef
srdfsrd
es
edf
edfv
同样的问题:
String[] arrOfStr = str.split(",:"); //not splitting the word at all
# 1 楼答案
"\\@\\["
匹配@[
,这在字符串中是而不是。将正则表达式更改为"[@\\[]"
,这是一个character class,这意味着它将在@
或[
上拆分见演示here:)
# 2 楼答案
用
"@|\\[
代替\\@\\[
请注意,在正则表达式模式中,
|
作为OR
工作,即通过使用"@|\\[
,您指示代码在@
OR
或[
上拆分给定字符串或者,可以使用
[@\\[]
,其中[]
指定character classes演示:
输出: