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'這樣的單詞? –
帶數字的詞, 我嘗試做一個詞法分析器。 –