我想分隔一个字符串,但要保留空格以外的分隔符。另外,我也不想分开asda45a或asd6ad之类的词。这是分隔符的列表:private static String delimits="[{;}(),#<>*+-=/ ]+";我尝试了String[] List = o.split("(?<="+delimits+")|(?="+delimits+")"); 最佳答案 您需要调整delimits模式以排除空格(因为您不想在结果中保留空格分隔符),并将-放在字符类的末尾,因为在表达式中,它形成了一个介于和+。然后,只需在主正则表达式中添加=替代项:String delimits="[{;}(),#<>*+=/-]+";String o = "asda45a or-ro asd6ad";String[] lst = o.split("(?<="+delimits+")|(?="+delimits+")| +");System.out.println(Arrays.toString(lst));// => [asda45a, or, -, ro, asd6ad]请参见online Java demo如果要拆分任何空格,请将| +替换为| +。 09-25 21:23