16进制的0D0A如何表示?不算#13#10空白行吗?咋删除掉?
本帖最后由 冥界3大法王 于 2024-2-13 17:30 编辑测试文字如下:
X:\0.自创工具for delphi10.4.1\38.超级Delphi代码生成器终极合体版\Win32\Release\控件大全\A1.自带原装\
X:\0.自创工具for delphi10.4.1\38.超级Delphi代码生成器终极合体版\Win32\Release\
X:\0.自创工具for delphi10.4.1\38.超级Delphi代码生成器终极合体版\
X:\0.自创工具for delphi10.4.1\38.超级Delphi代码生成器终极合体版\Win32\Release\控件大全\
X:\0.自创工具for delphi10.4.1\38.超级Delphi代码生成器终极合体版\Win32\Release\000.顶部工具栏调用\
X:\0.自创工具for delphi10.4.1\38.超级Delphi代码生成器终极合体版\Win32\Release\控件大全\A3\
X:\0.自创工具for delphi10.4.1\38.超级Delphi代码生成器终极合体版\
X:\0.自创工具for delphi10.4.1\38.超级Delphi代码生成器终极合体版\Win32\Release\
X:\0.自创工具for delphi10.4.1\38.超级Delphi代码生成器终极合体版\Win32\Release\000.顶部工具栏调用\
X:\0.自创工具for delphi10.4.1\38.超级Delphi代码生成器终极合体版\Win32\Release\控件大全\
X:\0.自创工具for delphi10.4.1\38.超级Delphi代码生成器终极合体版\Win32\Release\控件大全\A1.自带原装\
X:\0.自创工具for delphi10.4.1\38.超级Delphi代码生成器终极合体版\Win32\Release\控件大全\A3\
X:\0.自创工具for delphi10.4.1\38.超级Delphi代码生成器终极合体版\
X:\0.自创工具for delphi10.4.1\38.超级Delphi代码生成器终极合体版\Win32\Release\
X:\0.自创工具for delphi10.4.1\38.超级Delphi代码生成器终极合体版\Win32\Release\000.顶部工具栏调用\
X:\0.自创工具for delphi10.4.1\38.超级Delphi代码生成器终极合体版\Win32\Release\控件大全\
X:\0.自创工具for delphi10.4.1\38.超级Delphi代码生成器终极合体版\Win32\Release\控件大全\A1.自带原装\
X:\0.自创工具for delphi10.4.1\38.超级Delphi代码生成器终极合体版\Win32\Release\控件大全\A3\
X:\0.自创工具for delphi10.4.1\38.超级Delphi代码生成器终极合体版\
X:\0.自创工具for delphi10.4.1\38.超级Delphi代码生成器终极合体版\Win32\Release\
X:\0.自创工具for delphi10.4.1\38.超级Delphi代码生成器终极合体版\Win32\Release\000.顶部工具栏调用\
X:\0.自创工具for delphi10.4.1\38.超级Delphi代码生成器终极合体版\Win32\Release\控件大全\
X:\0.自创工具for delphi10.4.1\38.超级Delphi代码生成器终极合体版\Win32\Release\控件大全\A1.自带原装\
X:\0.自创工具for delphi10.4.1\38.超级Delphi代码生成器终极合体版\Win32\Release\控件大全\A3\
X:\0.自创工具for delphi10.4.1\38.超级Delphi代码生成器终极合体版\
X:\0.自创工具for delphi10.4.1\38.超级Delphi代码生成器终极合体版\Win32\Release\
X:\0.自创工具for delphi10.4.1\38.超级Delphi代码生成器终极合体版\Win32\Release\000.顶部工具栏调用\
X:\0.自创工具for delphi10.4.1\38.超级Delphi代码生成器终极合体版\Win32\Release\控件大全\
X:\0.自创工具for delphi10.4.1\38.超级Delphi代码生成器终极合体版\Win32\Release\控件大全\A1.自带原装\
X:\0.自创工具for delphi10.4.1\38.超级Delphi代码生成器终极合体版\Win32\Release\控件大全\A3\
111
222
3333
111
222
3333
procedure TForm7.删除重复行1Click(Sender: TObject);
var
pList: TStringList;
I: Integer;
begin
pList := TStringList.Create;
pList.sorted := True;
pList.Duplicates := dupIgnore;
for I := pList.count - 1 downto 0 do //这几行为了删除空行!
begin
if (Trim(pList) = '') or (pList = #10#13) then ====>我怀疑 (pList = #10#13)这个写得不对!
begin
pList.Delete(I);
pList := StringReplace(pList, #13#10, '', );
end;
end;
pList.LoadFromFile('X:\delphi\收藏菜单文件列表.txt');
pList.SaveToFile('X:\delphi\收藏菜单文件列表2.txt');
pList.Free;
end; 本帖最后由 冥界3大法王 于 2024-2-13 18:00 编辑
问题2:为啥 pList.LoadFromFile('X:\delphi\收藏菜单文件列表.txt');放在最下面呢?
不太理解,请专家作答。{:301_974:} 删掉0d就行了, 本帖最后由 DEATHTOUCH 于 2024-2-13 18:01 编辑
头尾的空行什么的Trim就能删掉,在stringlist里面的话判断某一行是不是空字符串就可以删了,不用管CRLF。
类似下面这样:
for i:=sl.Count-1 downto 0 do
begin
if sl='' then
sl.Delete(i);
end; hrpzcf 发表于 2024-2-13 17:55
删掉0d就行了,
用程序代码删除,不能人为操作。 DEATHTOUCH 发表于 2024-2-13 17:57
头尾的空行什么的Trim就能删掉,在stringlist里面的话判断某一行是不是空字符串就可以删了,不用管CRLF。
问题是代码里加了,为啥没效果? 冥界3大法王 发表于 2024-2-13 18:01
问题是代码里加了,为啥没效果?
文件结尾是会默认换行符的,是没问题的,那个不算空行。 空行一般是两个连续\r\n回车换行符吧 冥界3大法王 发表于 2024-2-13 17:40
问题2:为啥 pList.LoadFromFile('X:\delphi\收藏菜单文件列表.txt');放在最下面呢?
不太理解,请专家作 ...
如果是删除这个txt里的换行符,那肯定是要放在前面。 #13#10 是这样子的吧
页:
[1]
2