Jedes Mal, wenn der Benutzer eine Zeichenfolge eingibt, die '$' enthält, gibt der Code nur das '$' mit 2 Sternen vor und nach dem '$' zurück. In den meisten Testfällen läuft der Code gut, jedoch gibt er nach der Eingabe eines Strings mit mehr als $, zB Codehelp("r$t$$")
, **$****$****$**
(addiere zwei * am Anfang und am Ende des Strings) statt ****$**$**
(ignoriere den ersten zwei *).Überlappung der Zeichenfolgen
-1
A
Antwort
0
Gut wie Sie sagen, ich bekomme diese Ausgabe: **$****$****$**
. Ich kann sicher sagen, dass dies sinnvoll ist, da es nur die aktuelle Instanz von $
überprüft und davor und danach **
hinzufügt. Wenn Sie möchten, dass es "intelligenter" ist, müssen Sie möglicherweise etwas implementieren, das nach vorne schauen könnte, um zu sehen, ob es nach dem aktuellen einen weiteren $
gibt.
Um jedoch **$$
(nicht sicher, dass es das ist, was Sie erwarten, bitte korrigieren Sie), müssen Sie den nächsten Index zu sehen, ob es eine andere $
(natürlich unter Berücksichtigung String Länge Grenzkontrollen auch in Betracht ziehen)) und nicht zusätzliche **
nach der zweiten $
hinzufügen.