ich steh hier vor einem Problem, wie "der Ochse vorm Berg"
Ich finde irgendwie gerade den Ansatz nicht zur Lösung einer Einfachen Aufgabe. Ich weiß es ist mit einer erweiterten Splittung möglich, aber das wie ist mein Problem.
Folgende Aufgabe habe ich mir gestellt.
Es gibt eine Variable, mit veränderbarer Anzahl an Wörtern und dadurch auch veränderbarer Länge der Einzelnen Wörter.
Der String könnte in etwa so aussehen:
String Text = "Das - kann - doch - nicht - so - schwer - sein"
oder so:
String Text = "Ich - komme - irgendwie - nicht - auf - die - Lösung"
Ziel ist es, den String in 2 Strings zu teilen, und zwar hinter einem Bindestrich.
Der 1. String darf aber nicht länger wie 22 Zeichen sein.
Meine Kenntnisse sind leider noch sehr begrenzt, hängt wohl auch damit zusammen, dass ich aus Zeitlichen Gründen mich zu wenig mit dem Thema beschäftigen kann.
Welcher der Richtige Weg ist, da komme ich einfach nicht drauf.
Mein erster Gedanke war den String zu Splitten, da kam ich dann aber schon an meine Grenzen, da ja die Anzahl der Wörter Variable ist. Dann müsste ich ja alle gesplitteten Wörter wieder so zusammensetzen (in der gleichen Reihenfolge), dass inkl. dem Bindestrich zw. den einzelnen Wörtern die 1. Zeile nicht länger als 22 Zeichen ist. Also die Anzahl der Wörter in der 1. Zeile auch variieren kann.
Das sind so viele Anforderungen, da dreht sich gerade alles in meinem Kopf.
Du trennst doch nicht nach Worten, sondern nach Bindestrichen.
Deine Aufgabe verstehe ich so, dass du bis Pos 22 die '-' Zeichen suchst, und nach dem letzten trennen willst.
Ich würde es mit char [] machen, meine Aufgabe so ändern, dass das trennende '-' durch eine '\0' ersetzt wird, und hätte so zwei Texte, ohne sie umkopieren zu müssen, (RAM sparend macht die Aufgabe erst Arduino-relevant)
Aber String Objekte können das sicher auch, wie @my_xy_projekt gespoilert hat.
Bitte beschreibe das Problem. Nicht die Schwierigkeiten die du hast deine vermeintliche Lösung umzusetzen.
Was willst du wirklich machen?
Woher kommt der "lange String" in deinem Arduino?
Wohin gehen die kleineren Teile?
Und warum gibt es für den ersten String das Limit von 22 Zeichen - für die anderen nicht?
Bitte beschreibe das Problem. Nicht die Schwierigkeiten die du hast deine vermeintliche Lösung umzusetzen.[/quote]
Das Endziel ist eine Anzeige auf einem TFT Bildschirm mit Verschiedenen Texten und in verschiedenen Größen. Der "lange String" ist max. 40 Zeichen lang, in der Zeile wo der Inhalt des String hinsoll habe ich aber nur Platz für 22 Zeichen. Also muß der Rest in die Zeile darunter.
Alle Strings kommen in Zukunft per MQTT in den Arduino, das steht schon soweit.
Der Rest kommt in die 2. Zeile da < 22 Zeichen
Habe nur Platz für 22 Zeichen pro Zeile und der String ist max. 40 Zeichen lang
Welchen Typ hat die Variable in der dein Satz steht?
Verstehe ich das richtig:
Du hast einen Satz mit Wörtern und du möchtest den auf zwei Zeilen a maximal 22 Zeichen aufteilen.
Wörter sollen aber immer als ganzes bestehen bleiben. Du möchtest also einen Zeilenumbruch vor dem Wort das nicht mehr vollständig in die Zeile 1 passen würde haben?
Vielen Dank an alle, damit kann ich auf jeden Fall weiter arbeiten. Das ESP "Problem" konnte ich lösen. Der ESP ist einfach zu schnell. Nach einem Druck auf den Reset-Button wurde mir alles angezeigt