Pos () в границах строки utf8
Мне бы хотелось, чтобы Pos () был адаптирован для использования с указанием границ в исходной строке, а не для выполнения поиска по всем данным.
Допустим, у меня есть строка длиной 100 символов, я хочу выполнять Pos только между 5-м и 20-м символами строки (unicode / utf8).
Код должен быть адаптирован из реализации быстрого кода ASM в Delphi, и, очевидно, избегать предварительного копирования части строки во временную, поскольку цель состоит в том, чтобы сделать это быстрее, чем это.
Мой сценарий:
У меня есть строка, к которой обращаются много раз, и каждый раз ее часть копируется в другую временную строку, а затем выполняется Pos. Я хочу избегать промежуточного копирования каждый раз, а лучше выполнять Pos в указанных мною границах.
Изменить: вопрос отредактирован после того, как новый был признан дубликатом.
Я все еще хотел бы решение, которое расширяет текущую реализацию сборки XE3 FastCode, поскольку это соответствовало бы моей цели здесь.