Prawie każdy język ma wbudowaną funkcję, która może rozdzielać łańcuch w danej pozycji. Jednak gdy tylko w tagu znajdą się tagi html, wbudowana funkcja nie będzie działać poprawnie.
Twoim zadaniem jest napisanie programu lub funkcji, która dzieli ciąg na n-ty znak, ale nie liczy znaków tagów HTML i wyświetli prawidłowy HTML. Program musi zachować formatowanie. Miejsca poza znacznikami html mogą być liczone lub nie być zliczane, jak chcesz, ale muszą zostać zachowane. Możesz jednak zamienić wiele kolejnych spacji w jedną spację.
Wejście:
- ciąg
- pozycja do podziału w (na podstawie 0)
Można je traktować jako argumenty programu lub funkcji lub można je odczytać ze standardowego wejścia.
Dane wyjściowe: podzielony ciąg znaków, który można zwrócić lub zapisać na standardowym wyjściu.
Dane wejściowe będą poprawne w formacie HTML, nie będą zawierać żadnych elementów (takich jak
). Tagi otwierane po limicie znaków należy pominąć w danych wyjściowych (patrz ostatni przykład).
Przykład:
Wejście:, <i>test</i>
3
Wyjście:<i>tes</i>
Wejście:, <strong><i>more</i> <span style="color: red">complicated</span></strong>
7
Wyjście:<strong><i>more</i> <span style="color: red">co</span></strong>
Wejście:, no html
2
Wyjście:no
Wejście:, <b>no</b> <i>html root</i>
5
Wyjście:<b>no</b> <i>ht</i>
Wejście:, <b>no img</b><img src="test.png" />more text
6
Wyjście:<b>no img</b>
Możesz użyć dowolnego języka i standardowej biblioteki danego języka. To jest kod golfowy, wygrywa najkrótszy program. Baw się dobrze!
<
i >
zamiast <>
, więc nie ( <
lub też >
nie będzie).
<i>ab</i><b>cd</b> 1
?
<i>a</i>
?
<i>a</i><b></b>
(Co ma sens, jeśli weźmiesz pod uwagę, że b
może to być div
lub img
.)