You can write this:
uses
..., LCLProc;
...
for I := 1 to UTF8Length(S) do begin
if (UTF8Copy(S, I, 1) = 'a') and (UTF8Copy(S, I, 1) = 'b') then go;
end;
For manipulating strings, you should use procedures from LCLProc.
First notice that Length(S) is replaced with UTF8Length(S).
Now, for this purpose, the char S[ I] cannot be used, because it's just one byte, but UTF8Copy(S, I, 1) returns UTF8String whose UTF8Lenth is 1, althought it might contain more than one byte (which means that its Length might be more than 1).
See also other analog procedures and functions in LCLProc unit, like UTF8Insert, UTF8Delete...