2[3[a]b] in aaabaaab konvertieren
Vor ein paar Tagen hat ein Mitglied unserer Telegram-Gruppe die Frage gestellt, wie man 2[3[a]b] nach aaabaaab, 2[a]3[b]c nach aabbbc un so weiter konvertieren kann.
Fragestellung und Entscheidung zur Umsetzung:
- Wie können wir die richtigen Kombinationen von öffnenden und schliessenden Klammern ermitteln?
- Hierfür können wir den simplen RegEx (\d{0,})[([^[]]+)] verwenden
Lösung
Ich habe die Logic in eine Klasse implementiert. Zusätzlich habe ich eine entsprechende Unit Test Klasse angelegt, um sicherzustellen, dass die Methode auch noch richtig funktioniert, wenn Änderungen an der Logik vorgenommen werden.
|
|
Unit Test
Für den Unit Test habe ich drei Methoden mit verschiedenen Klammerkombinationen, von einfach bis tief verschachtelt.
|
|
Hol Dir den Source von meinem GitHub
Herunterladen
Du kannst den Code entsprechend Deines Releases herunterladen. Verfügbare Versionen sind:
GitHub Repo mit abapGit importieren
Du kannst den Code auch direkt mit abapGit importieren. Nähere Information, wie man den Code mit abapGit importiert, findest Du hier.
Link zum Kopieren https://github.com/stekoester/convert_bracketstring_2_string