只要数字前面有空格就行,不然:中间2块田 的 2 又不要,就麻烦了!var youstr:string; i:word;begin youstr:=''; i:=1; repeat if (str=' ') and (i<length(str)) then if (str[i+1] in ['0'..'9']) then begin i:=i+1; while (str in ['0'..'9']) or (str in ['+','-']) do begin youstr:=youstr+str; i:=i+1; if (i>=length(str)) then break; end; end; until (i>=length(str));end;