Я написал программу для разбиения строки на |o|
и |e|
знаков.Как сопоставить строки, разделенные символом «| e |» знак
Это вся моя строка (которую я хочу обработать):
code|e|0.07610 |o| p|e|0.02225 |o| li|e|0.02032 |o| applet|e|0.01305 |o| pre|e|0.01289
Я пишу функцию полезности для анализа выше строк, следующий является частью этой функции полезности:
String [] trs = tgs[1].split("[^ |o| ]"); //tgs[1] have the whole string
for (int i=0 ; i<9; i++) {
String t = trs[i].split("[^|e|]")[0];
e.add(new ProbTranslate(t, Double.parseDouble(trs[i].split("[^|e|]")[1])));
}
Но это кажется неправильным (потому что я отлаживаю программу, а затем получаю неправильные результаты). Я чувствую, что моя ошибка в неправильной части регулярного выражения. Поэтому я ищу правильное регулярное выражение для синтаксического анализа указанной строки.
Любая помощь будет оценена по достоинству. Благодарю.
'.split («\\ | [ае] \\ |»)' – Tushar
* Я чувствую, что моя ошибка в неправильном регулярных выражений часть * - это право, шаблоны являются неправильными как инвертированный символьный класс по-прежнему соответствует только один символ, отличный от тех, которые определены в классе char. –
кажется, что это правильное регулярное выражение, но обратите внимание, что i пробегает вокруг '| o |', как я могу вставить эти пробелы для сопоставления? @Tushar –