取出字符串中的英文字母和数字???(50分)

B

bluedna

Unregistered / Unconfirmed
GUEST, unregistred user!
用户输入字符串如(a6daw23d!~4G^%3NJJ*8j),我想取出其中的英文字母和数字,请问该怎么
做??谢谢!!
我是个新手,希望各位不吝赐教!!
 
For i:= 0 To Lengh(String)- 1 do
if Ord或者Chr(String)属于某一ASCII码范围 then 做你想做的事情

 
我想取出其中的英文字母和数字存入一个字符变量中??
 
我想取出其中的英文字母和数字存入一个字符串(string)变量中??
 
var
str1,str2:string;
i:integer;
begin
str1:='a6daw23d!~4G^%3NJJ*8j'
str2:='';
for i:=1 to length(str1) do
if str1 in ('a'..'z','A'..'Z','0'..'9') then
str2:=str2+str1;//这里只是演示,其实字符串和字符不能相加的,你可以想办法
end;
 
给个例子吧???
 
就那个for循环就可以
如果字符串很大,有上千个字符,
那么最好不要用str2:=str2+str1这种形式,因为这样会导致频繁分配内存,速度慢
而是setlength(str2,len);//先设定好一个长度
然后,str2[r]:=str1,也就是一个个的赋值
 
我用了上面的例子,提示[Error] Unit1.pas(37): ')' expected but '..' found,好像
对..系统不认???
 
我明白了,谢谢!!!
 
顶部