如何对一个字符串判断效率最高?

szch 2005-03-13 02:44:53
我用Microsoft.VisualBasic.Isdate,效率让我不敢恭维(1438毫秒)
用自己写个函数用try...catch ...,捕捉错误,效率更低.
这几天看代码,看得有些头晕,
帮帮我吧,3q

...全文
140 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
dingsea 2005-03-15
  • 打赏
  • 举报
回复
TO : 回复人: szch(灏然)

确实用正则表达式可以判断,
不过,日期有多种表达方式.
能否穷举?
希望大家继续一起探讨...

你可以用一个正则表达式匹配格式,再用另一个正则表达式来进行有效性检查。
我所在的项目中,也有这样的问题。我们是把可能的格式写在一个XML文件中,进行格式匹配的时候看是哪个可能的格式,每个可能的格式对应一种数据校验方法。
其实你可以参考一下:)
szch 2005-03-15
  • 打赏
  • 举报
回复
明天结贴
szch 2005-03-15
  • 打赏
  • 举报
回复
还有没有其它意见?
szch 2005-03-14
  • 打赏
  • 举报
回复
up
szch 2005-03-14
  • 打赏
  • 举报
回复
up
szch 2005-03-13
  • 打赏
  • 举报
回复
确实用正则表达式可以判断,
不过,日期有多种表达方式.
能否穷举?
希望大家继续一起探讨...
hamadou 2005-03-13
  • 打赏
  • 举报
回复
to: tang800710(平凡的世界)
说的对,我只是简单的写了一下,忘记了这些,呵呵,不好意思!
hamadou 2005-03-13
  • 打赏
  • 举报
回复
哦,不是定长,是最大长度,比如说是日期最大长度可以设置为10
tang800710 2005-03-13
  • 打赏
  • 举报
回复
好像有问题吧,如果Text1.Text="2005-02-99"会怎样?
v192 2005-03-13
  • 打赏
  • 举报
回复
试试看用正则表达式呢?
hamadou 2005-03-13
  • 打赏
  • 举报
回复
我明白了,你是想判断一个字符串是不是日期格式的,对吗?
如果是的话。使用异常应该是最慢的。它有一个触发异常类的过程。
如果你觉得isdate效果不好,我建议你使用正则表达式,应该比较快。不过没有具体测试过。
你指定它的定长,然后做类似如下判断:
imports system.text.regularexpressions
dim str as string = me.textbox1.text
dim mstr as string = "\d{4}-\d{1,2}-\d{1,2}"
dim r as new regex(mstr)
dim m as match = r.macth(str)
if m.success then
messagebox.show("ok!")
else
messagebox.show("error!")
end if

16,553

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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