Pos () в границах строки utf8

Мне бы хотелось, чтобы Pos () был адаптирован для использования с указанием границ в исходной строке, а не для выполнения поиска по всем данным.

Допустим, у меня есть строка длиной 100 символов, я хочу выполнять Pos только между 5-м и 20-м символами строки (unicode / utf8).

Код должен быть адаптирован из реализации быстрого кода ASM в Delphi, и, очевидно, избегать предварительного копирования части строки во временную, поскольку цель состоит в том, чтобы сделать это быстрее, чем это.

Мой сценарий:

У меня есть строка, к которой обращаются много раз, и каждый раз ее часть копируется в другую временную строку, а затем выполняется Pos. Я хочу избегать промежуточного копирования каждый раз, а лучше выполнять Pos в указанных мною границах.

Изменить: вопрос отредактирован после того, как новый был признан дубликатом.

Я все еще хотел бы решение, которое расширяет текущую реализацию сборки XE3 FastCode, поскольку это соответствовало бы моей цели здесь.

Ответы на вопрос(1)

Ваш ответ на вопрос