问一个字符处理的问题
有str:array[0..300]of string;
现在要处理每个字符串,挑出表示数字的字符串,怎么做?
我用的方法是
var
fvalue:string;
fvalue:=copy(str[j],1,1);
if fvalue in ['0','1','2','3','4','5','6','7','8','9'] then
结果报错类型不匹配,后来改为
var
fvalue:char;也不行
问题点数:20、回复次数:4Top
1 楼zhaojinghui(~穷的就剩钱了~)回复于 2003-12-03 14:12:21 得分 7
var
mystr : string;
mychar : pchar;
begin
mystr := '12345';
Move(mystr[1],mychar,1);
if mychar^ in ['0'..'9'] then
ShowMessage('ddd');
end;
Top
2 楼suuare(督察)回复于 2003-12-03 14:12:44 得分 0
str是什么类型?if fvalue in ['0','1','2','3','4','5','6','7','8','9'] thenTop
3 楼SeaWave(NoSound)回复于 2003-12-03 14:20:19 得分 13
你的str:array[0..300] of string;有点意思,是包含301个字符串的数组,呵呵。
如果不是你写错了的话,那么应该这样:
var
fvalue: Char;
i, j: Integer;
begin
for i:=Low(str) to High(str) do
begin
for j:=1 to Length(str[i]) do
if (str[i][j] in ['0'..'9']) then
// str[i]这个字符串是全部包含数字的
else // 不是
end
endTop
4 楼jiangjian0427(阿贡)回复于 2003-12-03 14:34:16 得分 0
呵呵 搞定了 用了SeaWave(NoSound) 的方案
谢谢了!Top




