使用带有多个分隔符的 String.split()

新手上路,请多包涵

我需要根据分隔符 -. 拆分字符串。以下是我想要的输出。

AA.BB-CC-DD.zip ->

 AA
BB
CC
DD
zip

但我的以下代码不起作用。

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

原文由 Thang Pham 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 706
2 个回答

我认为您需要包含正则表达式 OR 运算符

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

你所拥有的将匹配:

[DASH后跟DOT一起] -.

不是

[DASH 或 DOT 中的任何一个] -.

原文由 Richard H 发布,翻译遵循 CC BY-SA 4.0 许可协议

试试这个正则表达式 "[-.]+" 。 + 之后将连续的分隔符字符视为一个字符。如果你不想要这个,请删除加号。

原文由 Peter Knego 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题