遍历字符串,然后一个个判断: for i:= 0 to length(str) - 1 do begin tmpstr := copy(str,i,1); if tmpstr in [0..9] then //数字处理 else if tmpstr in [A..Z,a..z] then //字母处理; end;
procedure DelChar(var s : string); var i,k: integer; begin k := 0; for i := 1 to Length(s) do if (s[i-k] < '0') or (s[i-k] > '9') then begin Delete(s,i-k,1); k := k + 1; end; end;
procedure DelChar(var s : string); var i,k: integer; begin k := 0; for i := 1 to Length(s) do if (s[i-k] < '0') or (s[i-k] > '9') then begin Delete(s,i-k,1); k := k + 1; end; //setlength(s, i+k);如果长度不想改变加上这句 end;
for i:=1 to length(s) do
if s[i] in ['0'..'9'] then t:=t+s[i];
http://community.csdn.net/Expert/topic/4566/4566488.xml?temp=8.994693E-02
for i:= 0 to length(str) - 1 do
begin
tmpstr := copy(str,i,1);
if tmpstr in [0..9] then
//数字处理
else if tmpstr in [A..Z,a..z] then
//字母处理;
end;
var
i,k: integer;
begin
k := 0;
for i := 1 to Length(s) do
if (s[i-k] < '0') or (s[i-k] > '9') then
begin
Delete(s,i-k,1);
k := k + 1;
end;
end;
var
i,k: integer;
begin
k := 0;
for i := 1 to Length(s) do
if (s[i-k] < '0') or (s[i-k] > '9') then
begin
Delete(s,i-k,1);
k := k + 1;
end;
//setlength(s, i+k);如果长度不想改变加上这句
end;
到时想倒回去也可以.