0
我想分开一个字符串,但要保持分隔符除空格。分隔一个字符串,java与正则表达式
此外我想不要分开像asda45a
或asd6ad
这样的词。
这是分离的名单:
private static String delimits="[{;}(),#<>*+-=/ ]+";
我试图String[] List = o.split("(?<="+delimits+")|(?="+delimits+")");
我想分开一个字符串,但要保持分隔符除空格。分隔一个字符串,java与正则表达式
此外我想不要分开像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]
如果你想与任何空白分裂,与|\\s+
更换| +
。
感谢的人,它的作品! –
你能提供一个完整的字符串的样本,你会使用它? –
你是什么意思,像asda45a或asd6ad'这样的单词? –
带数字的词, 我尝试做一个词法分析器。 –