我需要根据分隔符分割字符串-和..下面是我想要的输出。
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("-\\.");
}
当前回答
String[] token=s.split("[.-]");
其他回答
用番石榴你可以这样做:
Iterable<String> tokens = Splitter.on(CharMatcher.anyOf("-.")).split(pdfName);
如果您知道刺将始终采用相同的格式,则首先根据。并将字符串存储在变量的第一个索引处。然后基于-在第二个索引中拆分字符串,并存储索引0、1和2。最后,对前一个数组的索引2进行拆分。您应该已经获得了所有相关字段。
参考以下片段:
String[] tmp = pdfName.split(".");
String val1 = tmp[0];
tmp = tmp[1].split("-");
String val2 = tmp[0];
...
你可以尝试这种方法,因为split接受可变参数,所以我们可以传递多个参数作为delimeter
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),使用完整的字符串作为分隔符
pdfName.split ("[.-]+");
(。-] ->任意一个。或-可以用作分隔符 +表示如果前面提到的分隔符连续出现,则应将其视为一个分隔符。