我需要从文本中提取字符串,如下例

Hi i have no name <z>empty</z>


我只想提取<z>之前的文本到数组或字符串hi i have no name
我试过这个功能

procedure Split (const Delimiter: Char; Input: string; const Strings: TStrings);
begin
   Assert(Assigned(Strings)) ;
   Strings.Clear;
   Strings.StrictDelimiter := true;
   Strings.Delimiter := Delimiter;
   Strings.DelimitedText := Input;
end;


但它只能拆分字符,如;,:等。我想从此特定字符串<z>开始拆分

最佳答案

当我阅读您所写的内容时,您有一个字符串,并且想要忽略第一次出现<z>之后的所有文本。例如,使用PosCopy

P := Pos('<z>', input);
if P = 0 then
  output := input
else
  output := Copy(input, 1, P-1);


尽管有些事情告诉我您确实需要XML解析器。

关于delphi - 如何从特定文本中提取第一个字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29764769/

10-13 02:43