如何从字符串中提取数字

3CL 2003-03-01 07:42:04
有一字符串'1 2 3 4 5 6 7'或'1,2,3,4 ,5 , 6 ,'或'1+2+3 + 4+ 5'
如何从其中提取每一个数字并放在一个数组中
...全文
117 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaocha 2003-03-03
  • 打赏
  • 举报
回复
var
s,t: string;
i: integer;
begin
s := '123 456 7 8 9';
t := '';

for i:=1 to length(s) do
if s[i] in ['0'..'9'] then
begin
t := t + s[i]
end
else if t <> '' then
begin
// add t to array here
t := '';
end;
if t <> '' then
begin
// add last t to array here
end;
end;

3CL 2003-03-03
  • 打赏
  • 举报
回复
两位,是不是没有考虑数字为12,123,这些多位数
zousoft 2003-03-02
  • 打赏
  • 举报
回复
用ReplaceString()把其中夹杂的各种分隔符号换为''就行了.
只需一条命令.

字符串可以看成是字符数组, 也分给我一半分吧, 后面的别补充了, 现在是真的很详细了,不行给我发消息
匿名用户12345 2003-03-01
  • 打赏
  • 举报
回复
由于string类可以作为树组使用,只要对字符串进行遍历循环,就可以


var
a,s:sting;
i:integer;
begin
s;='1+2+3'
for i:=1 to length(s) to
if s[i] in ['0'..'9']
then a:=a+s[i];

end;

数组的道理一样,给分吧,后面的别补充了,已经很详细了,不行给我发消息

2,498

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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