Präambel
In Stack Exchange Markdown verwenden wir **, um Text hervorzuheben. Zum Beispiel dieser Abschlag:
The **quick brown fox jumps over the lazy** dog.
Rendert als:
Der schnelle braune Fuchs springt über den faulen Hund.
Natürlich verwenden wir ** auch, um Kühnheit zu schließen. Die Antwort wird also weniger kühn sein. Beispielsweise:
The **quick** brown fox jumps over the **lazy** dog.
Rendert als:
Der schnelle braune Fuchs springt über den faulen Hund.
Wenn die Kühnheit jedoch nicht geschlossen ist, wird sie als nicht fett dargestellt :
The **quick brown fox jumps over the lazy dog.
Rendert als:
Der ** schnelle Braunfuchs springt über den faulen Hund.
Wenn der Text einen einzelnen Backslash enthält \, wird die Fettschrift auch nicht wirksam:
The \**quick brown fox jumps over the lazy dog.**
Rendert als:
Der ** schnelle braune Fuchs springt über den faulen Hund. **
Nachgestellte Leerzeichen führen zu nicht fettgedrucktem Text (beachten Sie, dass das Leerzeichen nach Braun eine einzelne Registerkarte ist):
The** quick** brown fox jumps over the lazy dog.**
Rendert als:
Der ** schnelle ** Braunfuchs springt über den faulen Hund. **
Wir können __ auch für Fettdruck verwenden, beachten Sie jedoch, dass immer nur einer aktiv sein kann. Hier ist ein komplizierteres Beispiel:
The __quick**__ brown **fox__ jumps** over__ the__ lazy **dog.
Rendert als:
Der schnelle braune Fuchs springt über den faulen Hund.
Die Frage:
Sie können ein Programm oder eine Funktion, da ASCII - Text entweder als schreiben StringArgument oder auf STDIN, wo die einzigen Sonderzeichen sind **, __, \(für die Flucht) und nachfolgende Leerzeichen, bestimmen , wie viele fett gedruckt sind. Dieser Wert sollte auf STDOUT gedruckt oder von Ihrer Funktion zurückgegeben werden. Sie müssen keine sehr langen Zeichenfolgen unterstützen. Die Zeichenfolgenlänge beträgt garantiert nicht mehr als 30K. Dies ist die Obergrenze für ein Stack Exchange-Posting.
Kleingedrucktes:
- Kann ich für einen Fall eine Ausnahme / einen anderen Fehler auslösen und für den anderen normal zurückkehren?
- Nein. In beiden Fällen muss es sich entweder um einen eindeutigen, fehlerfreien Rückgabewert handeln. STDERR-Ausgabe wird ignoriert.
- Werden Leerzeichen zwischen Wörtern als fett angesehen?
- Ja.
**quick brown**enthält 11 fette Zeichen.
- Ja.
- Sollte die
\in\**, wenn fett, gezählt werden?- Nein, es wird als ** dargestellt. Wenn es also fett gedruckt sein sollte, sind es nur 2 Zeichen.
- Sei ganz klar: Was meinst du mit wie vielen Zeichen?
- Gesamtzahl der Zeichen, die fett dargestellt würden. Dies bedeutet , dass
**wird nicht gerendert , wenn es sich um Text verwandelt, aber es gemacht wird , wenn es nicht. - Beachten Sie,
**dass Fettdruck auf verschiedene Arten möglich ist, z . B.**\****-> ** . - Berücksichtigen Sie nicht die Möglichkeit, dass Text in Kursivschrift umgewandelt werden könnte. Die einzige zu berücksichtigende Abschriftenregel ist ** = fett *.
- Gesamtzahl der Zeichen, die fett dargestellt würden. Dies bedeutet , dass
- Bei Stack Exchange funktioniert auch HTML Bold. dh <b> </ b>
- Ja, ich bin mir bewusst. Betrachten Sie diesen Fall nicht, dies ist normaler Text.
- Was ist mit HTML-Elementen? zB
<-><- Diese sollten auch als normaler Text betrachtet werden, es findet keine HTML-Entitätskonvertierung statt.
- Ich habe an ein Beispiel gedacht, das Sie oben nicht behandelt haben!
- Die Regeln funktionieren genau so, als ob der Text in einer Antwort (kein Kommentar) auf Stack Exchange veröffentlicht worden wäre , mit der Ausnahme, dass Codeblöcke keine Sonderzeichen sind . Sowohl der Typ mit vier Leerzeichen als auch der Backtick-Typ. Wenn Sie sich nicht sicher sind, wie der Text gerendert werden soll, werfen Sie ihn zum Testen einfach in ein Antwortfeld. Dies sind die Regeln, die Sie befolgen sollten.
Beispiele:
Eingang:
The **quick brown fox jumps over the lazy** dog.
Ausgabe:
35
Eingang:
The **quick brown fox jumps over the lazy dog.
Ausgabe:
0
Eingang:
The __quick**__ brown **fox__ jumps** over__ the__ lazy **dog.
Ausgabe:
18
Eingang:
The __quick\____ brown fox **jumps over\** the** lazy \**dog.
Ausgabe:
23
Eingang:
The****quick brown fox****jumps over **the****lazy** dog.
Ausgabe:
11
Standardlücken sind verboten.
**fox__ jumps**beendet diese bestimmte Fettschrift.
\**oder \__Escape - Sequenzen aus drei Zeichen sind, aber in Stack gibt es nur zwei Zeichen Escape - Sequenzen \*oder \_. So \***a**erzeugt ein Stern von einem mutigen gefolgt a. Es gibt auch eine andere Flucht \\ . Sollen wir damit umgehen?
18für den dritten Testfall?