在unicodestring中查找unicodechar的位置

时间:2016-07-13 10:20:44

标签: unicode lazarus freepascal

我正在使用Unicode。我想在UnicodeString中找到char的位置。

例如:álùáxõ的位置为3。

我已经尝试了几种方法,谷歌很多,阅读Lazarus文档,但仍然无效。

我正在使用Lazarus 1.6和FPC 3.x。

1 个答案:

答案 0 :(得分:3)

像David所说的那样使用pos(),但为了避免重载问题,请确保两个参数都是明确键入的unicode *

E.g。将其复制并粘贴到记事本中,然后使用 utf-8 编码

保存
{$mode delphi}
{$codepage utf8} // source encoding is utf8, just in case.

var c : unicodechar;
    s : unicodestring;
    i : Integer;
begin
  s:='lùáxõ';
  c:='á'; // or whatever codepoint value of the char is.
  i:=pos(c,s);
  writeln(i);
end.