Fast jede Sprache verfügt über eine integrierte Funktion, mit der eine Zeichenfolge an einer bestimmten Position aufgeteilt werden kann. Sobald Sie jedoch HTML-Tags in der Zeichenfolge haben, funktioniert die integrierte Funktion nicht mehr ordnungsgemäß.
Ihre Aufgabe ist es, ein Programm oder eine Funktion zu schreiben, die eine Zeichenfolge am n-ten Zeichen aufteilt, jedoch keine Zeichen von HTML-Tags zählt und ein gültiges HTML ausgibt. Das Programm muss die Formatierung beibehalten. Leerzeichen außerhalb der HTML-Tags können nach Ihren Wünschen gezählt oder nicht gezählt werden, müssen jedoch beibehalten werden. Sie können jedoch mehrere aufeinanderfolgende Leerzeichen in einem einzigen Leerzeichen austauschen.
Eingang:
- die Saite
- die zu teilende Position bei (0-basiert)
Diese können als Programm- oder Funktionsargumente verwendet oder von der Standardeingabe gelesen werden.
Ausgabe: Die geteilte Zeichenfolge, die zurückgegeben oder in die Standardausgabe geschrieben werden kann.
Die Eingabe ist eine gültige HTML-Datei und enthält keine Entitäten (z. B. ). Tags, die nach der Zeichenbegrenzung geöffnet werden, sollten in der Ausgabe weggelassen werden (siehe letztes Beispiel).
Beispiel:
Eingabe : <i>test</i>, 3
Ausgabe:<i>tes</i>
Eingabe : <strong><i>more</i> <span style="color: red">complicated</span></strong>, 7
Ausgabe:<strong><i>more</i> <span style="color: red">co</span></strong>
Eingabe : no html, 2
Ausgabe:no
Eingabe : <b>no</b> <i>html root</i>, 5
Ausgabe:<b>no</b> <i>ht</i>
Eingabe : <b>no img</b><img src="test.png" />more text, 6
Ausgabe:<b>no img</b>
Sie können jede Sprache und die Standardbibliothek der jeweiligen Sprache verwenden. Dies ist Code Golf, kürzeste Programmgewinne. Habe Spaß!
<und >stattdessen verwenden <>, also nein ( <oder >auch nicht vorhanden sein).
<i>ab</i><b>cd</b> 1?
<i>a</i>?
<i>a</i><b></b>(Was Sinn macht, wenn man bedenkt, dass bdas auch divoder sein könnte img.)