繁体   English   中英

如何用Stringreplace替换“'”的HTML字符

[英]How to replace “ ' ” the “'” HTML character with Stringreplace

我使用代码从页面获取HTML并将其保存为字符串,但是这些字符串有时与'一起提供' 作为'字符

我试图用实际的'字符替换它,它似乎不起作用,我已经尝试过以下行来查找字符串,但是没有结果

  StringReplace(myString, ''', char(39), [rfReplaceAll]);
  StringReplace(myString, char(39), '*', [rfReplaceAll]);

  aPos := Pos(myString, char(39));
  aPos := Pos(myString, ''');
  aPos := Pos(myString, '&');
  aPos := Pos(myString, '#');
  aPos := Pos(myString, '039');

Apos永远不会> 0

  if aPos > 0 then
  begin
    // replace the string
  end;

StringReplace无法就地工作。 您必须将函数的结果分配给(另一个)字符串:

myOtherString := StringReplace(myString, '&#039', '''', [rfReplaceAll]);

尝试一下,您将看到myOtherString包含正确的格式。 当然您也可以这样做:

myString := StringReplace(myString, '&#039', '''', [rfReplaceAll]);

编辑

IMO, Pos函数更容易记为:

function Pos(const Needle, Haystack: string): Integer;

因此,如果交换参数,它应该可以工作。

StringReplace是一个返回新值的函数。 您忽略了这一新价值。 你需要:

myString := StringReplace(myString, ...);
....

问题的另一部分涉及Pos的使用。 Pos的第一个参数是您要在第二个参数中搜索的子字符串。 因此,您可以按相反的顺序将参数传递给Pos

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM