私は文字列にスペースを追加しましたが、トリムはこのスペースを削除しません。何故なの?トリムを呼び出すと、私の文字列がトリムされないのはなぜですか?
str:=tstringlist.create;
str.LoadFromFile(s);
Trim(str.strings[1]);
str.Free;
私は文字列にスペースを追加しましたが、トリムはこのスペースを削除しません。何故なの?トリムを呼び出すと、私の文字列がトリムされないのはなぜですか?
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