好久没来,问个关于字符串相加的问题?

西山小月 2001-08-02 07:06:39
现想分两次截取‘1999年12月’这个字符串,
使之最后显示为‘199912’,怎么办?
var
a:string;
b:string;
c:string;
begin
a:='1999年12月';
b:='1999年12月';
delete(a,5,5);
delete(b,1,6);
c:=b;
delete(c,3,2);
showmessage(a+c);
end;
为何显示出的a+c的值为‘1999 2’,而不是‘199912’呢?
...全文
61 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xhuayu 2001-08-03
  • 打赏
  • 举报
回复
同意cobi(小新国际)说的。
「已注销」 2001-08-02
  • 打赏
  • 举报
回复
我不明白为什么不用AnsiString.SubString()
cobi 2001-08-02
  • 打赏
  • 举报
回复
你的问题在于汉字是两个字节的,所以在截取时会出错!解决方法同意楼上的
xzm2000 2001-08-02
  • 打赏
  • 举报
回复
试试这个方法,也许能行
var
s, d, t: string;
i: integer;
begin
d := '1999年12月';
s := '';
for i := 1 to length(d) do
begin
t := copy(s, i, 1);
if (t >= '0') and (t <= '9') then
s := s + t;
end;
showmessage(s);
end;

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧