如何删除最后一个字符

Dau*_*evy 3 delphi

如何删除String的最后一个字符substring或什么?

例如;

var
  query : String;
begin
  query:= 'test=1&line=5&'; 
end;
Run Code Online (Sandbox Code Playgroud)

输出必须是:

query -> test1&line=5
Run Code Online (Sandbox Code Playgroud)

Hea*_*are 13

第三种选择是这样的:

SetLength(Query,LENGTH(Query)-1)
Run Code Online (Sandbox Code Playgroud)


Mik*_*ski 9

试试这个:

var
  query : String;
begin
  query:= 'test=1&line=5&';
  delete(query,length(query),1);
Run Code Online (Sandbox Code Playgroud)


Dav*_*nan 6

我想我会这样写:

NewValue := OldValue.Substring(0, OldValue.Length - 1);
Run Code Online (Sandbox Code Playgroud)

我认为函数接口,即返回新值的函数,通常比具有副作用的过程更受欢迎.我发现赋值运算符是一个明确的指示符,表明正在为变量赋值.当您希望将新值存储在与原始值不同的变量中时,使用函数方法可以使语法更加清晰.

  • 在XE3 +中,您也可以使用TStringHelper.Remove(),例如:query.Remove(query.Length-1)。 (2认同)