Pos () innerhalb von utf8-Zeichenkettengrenzen

Ich möchte, dass ein Pos () verwendet wird, um Grenzen innerhalb der Quellzeichenfolge festzulegen, anstatt die Suche in den gesamten Daten durchzuführen.

Angenommen, ich habe eine Zeichenfolge mit 100 Zeichen Länge. Ich möchte die Pos nur zwischen dem 5. und 20. Zeichen der Zeichenfolge (unicode / utf8) ausführen.

Der Code sollte von der ASM-Fastcode-Implementierung in delphi angepasst werden, und es sollte offensichtlich vermieden werden, den Teil des Strings vorab in einen temporären zu kopieren, da der Zweck darin besteht, ihn schneller zu machen.

Mein Szenario:

Ich habe einen String, auf den oft zugegriffen wird, und jedes Mal, wenn ein Teil davon in einen anderen temporären String kopiert wird, wird ein Pos darauf ausgeführt. Ich möchte die Zwischenkopie jedes Mal vermeiden und die Position lieber innerhalb der von mir festgelegten Grenzen ausführen.

Bearbeiten: Die Frage wurde bearbeitet, nachdem eine neue als Duplikat angesehen wurde.

Ich hätte immer noch gerne eine Lösung, die die aktuelle Implementierung der XE3 FastCode-Assembly erweitert, da dies hier zu meinem Ziel passt.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage