字符串判断问题

quickboy19821982 2008-02-22 01:47:34
已经有了一串字符串,如何判断该字符串中是否包含非法字符?
如:该字符串是一串十六进制数据组成,所以其单个字符取值范围是0~F,如何判断整个字符串是否包含有其他字符?
...全文
38 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
quickboy19821982 2008-02-22
  • 打赏
  • 举报
回复
经过测试,该函数速度能满足要求,谢谢,这就结贴
僵哥 2008-02-22
  • 打赏
  • 举报
回复
当然,可以使用二分法.
僵哥 2008-02-22
  • 打赏
  • 举报
回复
对于无序数据,只能完全扫描.
quickboy19821982 2008-02-22
  • 打赏
  • 举报
回复
不知道有没有更好的呢。。。这个碰到长字符串速度会慢吧。。。测试下性能先
jadeluo 2008-02-22
  • 打赏
  • 举报
回复

function IsDataValid(sData: String): Boolean;
var
i: Integer;
begin
Result := True;
for i := 1 to Length(sData) do
begin
if not (sData[i] in ['0'..'9', 'a'..'f', 'A'..'F']) then
begin
Result := False;
break;
end;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
if IsDataValid('123AbCx') then
ShowMessage('Valid')
else
ShowMessage('Invalid');
end;
luxuewei5214 2008-02-22
  • 打赏
  • 举报
回复
最笨的办法,扫一遍,看看有没大于ord('F')的字符,前提是不许字母小写;

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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