Dim SoCanTach As String = "2212345000121"
Sub Tach_Day_13so()
'Nếu sử dụng hàm SubString của VB.Net
TextBox1.Text = SoCanTach.Substring(0, 2) 'Lấy 2 số từ vị trí 0 : (vị trí đầu tiên là zero chứ không phải 1).
TextBox2.Text = SoCanTach.Substring(2, 5) 'Lấy 5 số từ vị trí 3 : tức 5 số kế tiếp
TextBox3.Text = SoCanTach.Substring(7) 'Lấy hết các số còn lại từ vị trí 7
'Nếu sử dụng các hàm cắt chuỗi của VB6
TextBox1.Text = Microsoft.VisualBasic.Left(SoCanTach, 2) 'Cắt trái 2 ký tự
TextBox2.Text = Microsoft.VisualBasic.Mid(SoCanTach, 3, 5) 'Cắt giữa từ vị trí 3 , 5 ký tự
TextBox3.Text = Microsoft.VisualBasic.Mid(SoCanTach, 8) 'Cắt giữa từ vị trí 8 đến hết chiều dài chuỗi.
End Sub
'Sau đây là cách tổng quát với nhiều textbox tương ứng nhiều đoạn cắt
Sub Tach_voi_mang()
Dim strCanTach As String = "CatChuoiDaiSuDungArray"
Dim arrayLen() As Integer = New Integer() {0, 2, 5, 4}
'arrayLen() là Khai báo mảng (theo thứ tự lần lượt) của mỗi chiều dài càn lấy,
'không cần khai báo chiều dài cuối cùng vì ta sẽ lấy hết phần còn lại.
Dim arrayTxb() As TextBox = New TextBox() {TextBox1, TextBox2, TextBox3, TextBoxCuoi}
'arrayTxb() là Khai báo mảng các textbox tương ứng.
Dim viTri As Integer = 0
For i As Integer = 0 To UBound(arrayTxb)
viTri = viTri + arrayLen(i)
If i = UBound(arrayLen) Then
'Nếu là phàn tử cuối cùng (textbox cuối cùng) thì lấy hết phần còn lại
arrayTxb(i).Text = strCanTach.Substring(viTri)
Else
'Lấy theo vị trí và độ dài xác định:
arrayTxb(i).Text = strCanTach.Substring(viTri, arrayLen(i + 1))
End If
Next
End Sub