Przeparsowanie tekstu, umożliwić wpisywanie górnych dolnych indeksów

0

W programie muszę umożliwić uzytkownikowi wprowadzanie nazw związków, które później są w bazie zapisywane i odczytywane. Baza UTF-8 i powinno to tam zostać zapisane już normalnie z indeksami górnymi/dolnymi, bo tak później będę wyświetlał. Wymyśliłem, by użytkownicy w textboxa(GUI Vaadin) wpisywali coś podobnego do Latexa np.: P4_{3}Pma^{22}, gdzie 3 to indeks górny a 22 to dolny. Taką konwencję chcę umożliwić tylko do wpisywania, później wyświetlane ma to być już normalnie czytelnie.

0

A jakie jest pytanie?

0

Jak wykonać takie przeparsowanie jak opsiałem.

0

Ale co ma dokładnie wyjść jak uzytkownik wpisze np. to: P4_{3}Pma^{22}

0

Mogłaby to być metoda np.:

public static String parseFormula(String a){
...
}

Dokładne wyniki np.:
wejście: P4_{3}Pma^{22}
wyjście: P4₃Pma²²

wejście: T{1}B_{10}Ku{327}
wyjście: T¹B₁₀Ku₃₂₇

itp.:
znalazłem znaki dostępne, których chciałbym używać. Dobrze się w bazie zapisują i odczytują bez problemów z kodowaniem. (używam UTF-8)
⁰ ¹ ² ³ ⁴ ⁵ ⁶ ⁷ ⁸ ⁹ ₀ ₁ ₂ ₃ ₄ ₅ ₆ ₇ ₈ ₉

0

Coś się popsuło z drugim przykładem, może teraz będzie ok:

wejście:	P4_{3}Pma^{22}
wyjście:	P4₃Pma²²

wejście:	T^{1}B_{10}Ku^{327}
wyjście:	T¹B₁₀Ku₃₂₇
0

A co ma wyjść, gdy użytkownik popełni błąd, i w indeksach wpisze coś innego niż cyfry P4_{3a}ma^{22}

0

Wtedy mamy błąd parsowania i metoda wystarczy, że zwróci np. nulla w takim przypadku.

1 użytkowników online, w tym zalogowanych: 0, gości: 1