我想解析一個txt文件,它表示要在遞歸下降解析器中使用的語法。 txt文件將是這個樣子:Java字符串拆分不返回正確的值
SPRIME :: = Expr的EOF
Expr的:: =期限Expr的 '
Expr的' :: = +比率Expr的」 | - 術語Expr'| Ë
要隔離左側和右側分割成獨立的生產規則,我把每一行,並撥打:
String[] firstSplit = line.split("::=");
String LHS = firstSplit[0];
String productionRules = firstSplit[1].split("|");
然而,當我打電話第二分割法,我不回來由「|」分隔的字符串數組字符,而是右側的每個單獨字符的數組,包括「|」。因此,舉例來說,如果我被解析Expr的 '規則和打印productionRules陣列,它應該是這樣的:
「+」
「期限」
「Expr的'」
「」
「| 「
當我真正想應該是這樣的:
- 期限Expr的」
任何人有什麼,我做錯了什麼想法?
非常感謝您,我知道這是與正則表達式有關的事情,現在就開始吧! – 2011-04-15 11:28:40
在這裏傳統的做法是提出正確答案並「接受」你最喜歡的答案。 – Alnitak 2011-04-15 12:13:04
目前有11名代表,@Richard實際上無法登錄。但接受答案肯定是禮貌的。 – 2011-04-15 12:20:09