我在调用某一函数时返回时返回的字符串结果是 str:='0'#$D#$A'<FONT face="宋体"></FONT>'#$D#$A
可以我只想得取str:='0';
请问改如何处理,最好可以直接去掉'0'后面的所有字串
(注‘0’中的0会是其它多位数,'0'后的#$D#$A也可能会变化),所经我只想取第一个字符串
可以我只想得取str:='0';
请问改如何处理,最好可以直接去掉'0'后面的所有字串
(注‘0’中的0会是其它多位数,'0'后的#$D#$A也可能会变化),所经我只想取第一个字符串
str:='0'#$D#$A';
str:=copy(trim(str,1,1);
写错,trim不要的
那我如果是str:='1234'#$D#$A'<FONT face="宋体"></FONT>'#$D#$A
呢,位数是动态的,#$D#$A可能也是动态变化的
#$D#$A是什么东西啊,
有没有办法直接截取第一个字符串啊
{另外的方法,delphi2010 编译通过}
const
str = 'str:=''';
Text = 'str:=''0'#$D#$A'<FONT face="宋体"></FONT>'#$D#$A'';{测试一}
// Text = 'str:=''1234'#$D#$A'<FONT face="宋体"></FONT>'#$D#$A'';{测试二}
var
s: WideString;
c: WideString;
i, j: Integer;
T: WideString;
begin
s := StringReplace(Text, str, '', [rfReplaceAll, rfIgnoreCase]);
T := '';
for i := 1 to Length(s) do
begin
try
c := s[i];
j := StrToInt(c);
T := T + c;
except
Break;
end;
end;
T := str + T + '''';
ShowMessage(T);
end;
const
str = 'str:=''';
var
s: WideString;
i: Integer;
T: WideString;
begin
{其中 Edit1 是指定的源字符串}
s := StringReplace(Edit1.Text,str,'',[rfReplaceAll, rfIgnoreCase]);
i := Pos('''',s);{查找第二个单引号的位置}
if i <> 0 then
T := Copy(s,1,i);
T := str + T;
ShowMessage(T);
end;
或者用tstringlist来取 str := '0'#$D#$A'<FONT face="宋体"></FONT>'#$D#$A;
stringlist := TStringList.Create;
stringlist.Text := str;
str := stringlist.Strings[0];
stringlist.Free;