以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 数字+英文的 款号自动分析[已解決] (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=41352) |
-- 作者:realredred -- 发布时间:2013/10/17 14:38:00 -- 数字+英文的 款号自动分析[已解決] 分別有款号列及客户列 款号只有最后两位数是英文字並以E为首的话,客户=EXP 想爆脑子都搞不定 [此贴子已经被作者于2013-10-17 22:58:03编辑过]
|
-- 作者:Bin -- 发布时间:2013/10/17 15:13:00 -- Dim s As String = "00039ER" If RegularExpressions.Regex.IsMatch(s,"\\w\\d[eE]{1}[a-zA-Z]{1}$") Then MessageBox.show("客户=EXP") End If If RegularExpressions.Regex.IsMatch(s,"\\w\\d[sS]{1}[a-zA-Z]{1}$") Then MessageBox.show("客户=STR") End If If RegularExpressions.Regex.IsMatch(s,"\\d[a-zA-Z]{1}$") OrElse RegularExpressions.Regex.IsMatch(s,"^[a-zA-Z]{3}\\d") Then MessageBox.show("客户=ATM") End If
|
-- 作者:狐狸爸爸 -- 发布时间:2013/10/17 15:20:00 -- 呵呵,我再来个不用正则表达式的:
Dim nms() As String = {"08476R","MAR480","00039ER","00076EN","00940SE","08835E","GJP123"} |
-- 作者:realredred -- 发布时间:2013/10/17 15:55:00 -- 因为款号每次都不同 不用遍历可以嗎? 改用e.DATAROW 应该可以吧 |
-- 作者:狐狸爸爸 -- 发布时间:2013/10/17 15:59:00 -- 当然你可以,这里告诉你的是判断的方法,有了方法,你怎么写都行。 |
-- 作者:realredred -- 发布时间:2013/10/17 16:03:00 -- 小甜甜的 好像比较容易了解
If e.DataCol.Name = "款号" |
-- 作者:realredred -- 发布时间:2013/10/17 16:04:00 -- 感谢狐爸和小甜甜指导
我再研究一下狐爸的方法 现在仍未看懂. |
-- 作者:狐狸爸爸 -- 发布时间:2013/10/17 16:21:00 -- 呵呵,估计这样你就理解了:
Dim nm As String = "08476R"
我原来那样写,只是为了让你一次可以验证各种情况,结果适得其反。 |
-- 作者:东坡一剑 -- 发布时间:2013/10/17 16:51:00 -- Bin:你这些代码好陌生,从哪里可以学? |
-- 作者:Bin -- 发布时间:2013/10/17 16:55:00 -- 以下是引用东坡一剑在2013-10-17 16:51:00的发言:
百度 正则表达式
Bin:你这些代码好陌生,从哪里可以学? |