【发布时间】:2011-11-21 12:03:55
【问题描述】:
我想根据所有可能的分隔符(如逗号、冒号、分号、句点、空格、连字符等)解析整个文件。
假设我有一个假设的字符串行“Hi,X How-how are:any you?”我应该得到包含 Hi,X,How,how,are,any 和 you 项的输出数组。
如何在 String.split 方法中指定所有这些分隔符?
提前致谢。
【问题讨论】:
我想根据所有可能的分隔符(如逗号、冒号、分号、句点、空格、连字符等)解析整个文件。
假设我有一个假设的字符串行“Hi,X How-how are:any you?”我应该得到包含 Hi,X,How,how,are,any 和 you 项的输出数组。
如何在 String.split 方法中指定所有这些分隔符?
提前致谢。
【问题讨论】:
String.split 采用正则表达式,在这种情况下,您希望非单词字符(正则表达式 \W)作为拆分,所以很简单:
String input = "Hi,X How-how are:any you?";
String[] parts = input.split("[\\W]");
如果你想更明确,你可以在表达式中使用确切的字符:
String[] parts = input.split("[,\\s\\-:\\?]");
【讨论】:
|) 字符,而不是将它们视为“或”指令。在这种情况下,这并不是一个真正的问题,但您应该意识到它并没有按照您的想法做。它可能会在更复杂的代码中引起混乱和错误。