我需要根据分隔符分割字符串-和..下面是我想要的输出。
AA.BB-CC-DD.zip - - - >
AA
BB
CC
DD
zip
但是我下面的代码不能工作。
private void getId(String pdfName){
String[]tokens = pdfName.split("-\\.");
}
我需要根据分隔符分割字符串-和..下面是我想要的输出。
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()方法中指定正则表达式作为参数。请看下面的例子....
private void getId(String pdfName){
String[]tokens = pdfName.split("-|\\.");
}
我会使用Apache Commons:
进口org.apache.commons.lang3.StringUtils;
private void getId(String pdfName){
String[] tokens = StringUtils.split(pdfName, "-.");
}
它会在任何指定的分隔符上拆分,而不是StringUtils。splitByWholeSeparator(str, separator),使用完整的字符串作为分隔符
我认为你需要包含正则表达式或运算符:
String[]tokens = pdfName.split("-|\\.");
你所拥有的将会匹配: [DASH后面跟着DOT] -。 不 [破折号或DOT任意一个]-或者。
pdfName.split ("[.-]+");
(。-] ->任意一个。或-可以用作分隔符 +表示如果前面提到的分隔符连续出现,则应将其视为一个分隔符。