我需要根据分隔符分割字符串-和..下面是我想要的输出。

AA.BB-CC-DD.zip - - - >

AA
BB
CC
DD
zip 

但是我下面的代码不能工作。

private void getId(String pdfName){
    String[]tokens = pdfName.split("-\\.");
}

当前回答

用番石榴你可以这样做:

Iterable<String> tokens = Splitter.on(CharMatcher.anyOf("-.")).split(pdfName);

其他回答

你可以尝试这种方法,因为split接受可变参数,所以我们可以传递多个参数作为delimeter

 String[]tokens = pdfName.split("-",".");

您可以传递任意数量的参数。

s.trim().split("[\\W]+") 

应该工作。

我认为你需要包含正则表达式或运算符:

String[]tokens = pdfName.split("-|\\.");

你所拥有的将会匹配: [DASH后面跟着DOT] -。 不 [破折号或DOT任意一个]-或者。

试试下面的代码:

var string = 'AA.BB-CC-DD.zip';
array = string.split(/[,.]/);

对于两个字符序列作为delimeter“AND”和“OR”,这应该工作。使用时别忘了修剪。

 String text ="ISTANBUL AND NEW YORK AND PARIS OR TOKYO AND MOSCOW";
 String[] cities = text.split("AND|OR"); 

结果:城市={"伊斯坦布尔","纽约","巴黎","东京","莫斯科"}