几个月前我问了一个类似的问题。感谢Rob Kennedy,我可以将我的整个文本加载到一个Richedit
但我无法删除Null chars
的 . 我可以加载我的文本,因为我使用了Stream
.
现在在这段代码中:
var
strm : TMemorystream;
str : UTF8string;
ss : TStringstream;
begin
strm := tmemorystream.Create;
try
strm.LoadFromFile('C:\Text.txt');
setstring(str,PAnsichar(strm.Memory),strm.Size);
str := StringReplace(str, #0, '', [rfReplaceAll]); //This line doesn't work at all
ss := tstringstream.Create(str);
Richedit1.Lines.LoadFromStream(ss);
finally
strm.Free;
ss.Free;
end;
end;
我转换TMemorystream
为string
删除Null Chars
,StringReplace()
然后再次转换TStringstream
为加载它Richedit.lines.LoadFromStream
。
但我的问题是我无法删除Null Character
using StringReplace()
。我可以替换其他字符,但不能#0
。
有什么方法可以直接删除空字符TMemorystream
并将其加载到Richedit
? 如何?如果不可能或非常复杂,当我将文本转换为 时如何删除它们string
?
谢谢。