以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  想实现 项目编号D18-45-K18-01.1 得出一级编号是D18-45 二级编号是D18-45-K18,请帮我改下代码,谢谢  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=125389)

--  作者:yuyan
--  发布时间:2018/9/27 11:55:00
--  想实现 项目编号D18-45-K18-01.1 得出一级编号是D18-45 二级编号是D18-45-K18,请帮我改下代码,谢谢
Dim Str1 As String =r("项目编号")
If Str1.Contains("-")=True And Str1.IndexOf("-") <> Str1.LastIndexOf("-") And Str1.Contains(".") <> True Then 
   r("一级编号")=Str1.SubString(0,Str1.LastIndexOf("-"))
   r("二级编号")=Str1.SubString(0,Str1.LastIndexOf("-"))
Else If Str1.Contains("-")=True And Str1.IndexOf("-") <> Str1.LastIndexOf("-") And Str1.Contains(".") = True Then 
   r("一级编号")=Str1.SubString(0,Str1.LastIndexOf("-"))
   r("二级编号")=Str1.SubString(0,Str1.IndexOf("."))
Else If Str1.Contains("-")=True And Str1.IndexOf("-") = Str1.LastIndexOf("-") And Str1.Contains(".")<>True   Then
   r("一级编号")=r("项目编号")
   r("二级编号")=r("项目编号")
Else If Str1.Contains("-")=True And Str1.IndexOf("-") = Str1.LastIndexOf("-") And Str1.Contains(".")=True   Then
   r("一级编号")=Str1.SubString(0,Str1.IndexOf("."))
   r("二级编号")=Str1.SubString(0,Str1.IndexOf("."))
Else If Str1.Contains("-") <> True And Str1.Contains(".") <> True 
   r("一级编号")=r("项目编号")
   r("二级编号")=r("项目编号")
End If


--  作者:有点甜
--  发布时间:2018/9/27 12:00:00
--  

参考

 

Dim str As String = "D18-45-K18-01.1"
Dim ary = str.split("-")
msgbox(ary(0) & "-" & ary(1))
msgbox(ary(0) & "-" & ary(1) & "-" & ary(2))


--  作者:yuyan
--  发布时间:2018/9/27 13:59:00
--  
解决了 谢谢您