当我调用Trim时,为什么我的字符串没有被修剪?

时间:2011-07-12 14:25:18

标签: string delphi trim

我在字符串中添加了空格,但Trim不会删除此空格。为什么不呢?

str:=tstringlist.create;
str.LoadFromFile(s);
Trim(str.strings[1]);
str.Free;

4 个答案:

答案 0 :(得分:19)

Trim是一个函数,不会就地修改其参数。你的意思是写:

str.strings[1] := Trim(str.strings[1]);

答案 1 :(得分:16)

Trim返回修改后的字符串,而不是更改传入的字符串。

trimmed:= Trim(str.strings[1]);

应该有用。

答案 2 :(得分:0)

为了使代码按您的意愿工作,请执行以下操作:

str:=tstringlist.create;
str.LoadFromFile(s);
str.strings[1]:= Trim(str.strings[1]); //This line was modified
str.Free;

如果要将修剪过的字符串保存到文件中(覆盖文件),请执行以下操作:

str:=tstringlist.create;
str.LoadFromFile(s);
str.strings[1]:= Trim(str.strings[1]); //This line was modified
str.SaveToFile(s);                     //This line was added
str.Free;

答案 3 :(得分:0)

如果要修剪字符串列表中的所有字符串(行),请执行以下操作:

str:=tstringlist.create;
str.LoadFromFile(s);
for i:=0 to str.Count - 1 do
  str.strings[i]:= Trim(str.strings[i]); 
str.Free;