如何在Delphi中执行此操作?
我有一个很长的字符串。 我需要每隔5个字母包裹一下sting,并在包裹的字符串末尾添加一个点。
示例字符串:
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
结果:
sssss.
sssss.
sssss.
sssss.
答案 0 :(得分:7)
你的老师可能希望你学习足够的pascal来写这样的东西:
loop through the characters in the string
get a character from the string and add it to another string
check if five letters have gone by, and if so,
add a dot and a carriage-return-and-linefeed character.
end loop
答案 1 :(得分:4)
uses SysUtils;
Result := WrapText(s, '.'^M^J, [], 5);
但要注意the documentation中的这个说明:
WrapText不会在嵌入的带引号的字符串中插入中断。
答案 2 :(得分:0)
以下内容:
while Length(s) > 0 do
begin
Result := Result + '. ' + Copy(s, ...);
Delete(s, ...);
end;
答案 3 :(得分:0)
这个只适用于最近的Delphi:
for c in s do
begin
Write(c);
if i mod maxSize=maxSize-1 then
WriteLn('.');
inc(i);
end;
遍历所有字符
for i := 1 to length(s) do
begin
Write(s[i]);
if i mod maxSize=0 then
WriteLn('.');
end;
复制块
for i := 0 to length(s) div maxSize do
WriteLn(Copy(s,1+i*maxSize,maxSize),'.');