以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何固定单元格按照固定格式输入  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=183963)

--  作者:goldenfont
--  发布时间:2022/11/21 10:52:00
--  如何固定单元格按照固定格式输入
各位大神,请教一下如何让某个单元格只能输入类似以下的格式,其他格式非法:

数字----合法,例如35,9
数字*数字---合法,例如25*30,9*12
数字*数字+数字----合法,例如30*40+5,5*23+4

其他都不合法

这个咋写啊


--  作者:有点蓝
--  发布时间:2022/11/21 10:59:00
--  
Dim s As String = "30*40+5,5*23+4"
Dim p As String = "^[0-9.*+,]+$"
Dim rgx = New System.Text.RegularExpressions.Regex(p, System.Text.RegularExpressions.RegexOptions.IgnoreCase)
If Not rgx.isMatch(s) Then
    msgbox("非法字")
End If

--  作者:goldenfont
--  发布时间:2022/11/21 11:10:00
--  
这就是传说中的正则表达式吗?这个方面有推荐的教程看看吗,百度了一下,完全没看懂图片点击可在新窗口打开查看
另外,要取数字的值,就是根据帮助里的找到*和+的位置,然后左右取值之类的是吧

--  作者:有点蓝
--  发布时间:2022/11/21 11:35:00
--  
取数字直接拆分即可

Dim s As String = "30*40+5,5*23+4"
dim s1() as string = s.split(",")
msgbox(s1(0))
dim s2() as string = s1(0).split("*","+")
msgbox(s2(0))
msgbox(s2(1))