我遇到的问题与只能在字段year
上插入2位数有关,我想知道是否可以使用值为2017
的字符串并且只有在按下按钮时才插入17
。
我尝试使用CONTAINS
属性来检查它是否只有数字,但现在我有点卡住了。
答案 0 :(得分:1)
您可以使用字符串/子字符串概念;
Module DateSplit
Sub Main()
Dim literal As String = "2017"
Dim substring As String = literal.Substring(2)
Console.WriteLine("Substring: {0}", substring)
End Sub
End Module
我没有测试此代码,但应输出17
另一种方法是将日期转换为字符串并创建一个char数组,然后您可以访问该元素并将其转换回数字(如果您愿意)
Dim dateToSplit As Integer = 2017
Dim strDate As String = dateToSplit.ToString()
Dim charArr() AS Char = strDate.ToCharArray()
答案 1 :(得分:1)
假设您的用户在文本框中输入如下日期:01/01/2017
:
dim dateFromTextbox = yourTextbox.Text ' ==> 01/01/2017
dim lastTwoDigits = Right(dateFromTextbox, 2) ' ==> 17
答案 2 :(得分:1)
你可以使用正则表达式。
Private Function returnLastTwo(input As Integer) As Integer
Dim matchYearString As String = "(?:(\d\d)(?:(\d\d))?)"
Dim output As Integer
If CStr(input).Length = 4 Then
output = Text.RegularExpressions.Regex.Match(CStr(input), matchYearString).Groups(2).Value
ElseIf CStr(input).Length = 2 Then
output = Text.RegularExpressions.Regex.Match(CStr(input), matchYearString).Groups(1).Value
Else
Throw New Exception("Check input")
End If
Return output
End Function