我在删除问号时遇到问题。我不希望它们出现在我的SQL数据库中。
但是我的代码无法正常工作,而且我也不知道问题出在哪里。

function RemoveQMark(sWork: String): String;
begin
  Delete(sWork, 2, 4);
  Delete(sWork, Length, 2);
  Result := sWork;
end;


我要删除第一个和最后一个位置的?

最佳答案

无需在传入的字符串上使用Delete。只需使用Delphi Copy函数将除了第一个和最后一个字符外的所有字符直接复制到结果中:

function RemoveQMark(const sWork: String): String;
begin
  Result := Copy(sWork, 2, Length(sWork) - 2);
end;


使用const on string arguments可使编译器生成更有效的代码。 (没有const时,字符串引用计数在函数开始时增加,在结束时减少(在try ... finally块内))。

关于delphi - 删除问号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19588960/

10-10 16:55