我給我的字符串添加了一個空格,但修剪不會刪除這個空格。爲什麼不?爲什麼我在調用Trim時不會修整字符串?
str:=tstringlist.create;
str.LoadFromFile(s);
Trim(str.strings[1]);
str.Free;
我給我的字符串添加了一個空格,但修剪不會刪除這個空格。爲什麼不?爲什麼我在調用Trim時不會修整字符串?
str:=tstringlist.create;
str.LoadFromFile(s);
Trim(str.strings[1]);
str.Free;
Trim
是一個函數,不會就地修改其參數。你的意思是這樣寫:
str.strings[1] := Trim(str.strings[1]);
修剪返回修改的字符串,而不是更改您傳遞給它的字符串。
trimmed:= Trim(str.strings[1]);
應該工作。
爲了讓你想要的代碼工作,做到這一點:如果你想保存修整字符串的文件(覆蓋文件)
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;
如果要修剪的字符串列表中的所有字符串(行)這樣做:
str:=tstringlist.create;
str.LoadFromFile(s);
for i:=0 to str.Count - 1 do
str.strings[i]:= Trim(str.strings[i]);
str.Free;
如果你想修剪所有行,你可以這樣做: – Yanniel