tách dữ liệu!

Góc trao đổi, hỏi đáp của ngôn ngữ Visual Basic 6 và Visual Basic Script

Moderator: tungblt

Post Reply
camxuc831
Thành viên chính thức
Thành viên chính thức
Posts: 12
Joined: Tue 12/08/2014 12:19 pm
Has thanked: 5 times

tách dữ liệu!

Post by camxuc831 »

Các bác chỉ mình với! mình có string sau: " 12@caulacbovb$ " mình muốn tách số 12 hiển thị trên label1 và caulacbovb hiển thị trên label2... tks mọi người!
User avatar
nhochoclaptrinh
Thành viên danh dự
Thành viên danh dự
Posts: 517
Joined: Sat 28/05/2011 12:10 pm
Has thanked: 15 times
Been thanked: 83 times

Re: tách dữ liệu!

Post by nhochoclaptrinh »

  1.     Dim s As String
  2.     Dim num As String
  3.     Dim text As String
  4.     s = "12@caulacbovb$"
  5.     num = Left$(s, InStr(1, s, "@") - 1)
  6.     text = Replace(Right$(s, Len(s) - InStr(1, s, "@")), "$", "")
  7.     MsgBox num
  8.     MsgBox text  
Sad eyes never lie :((
User avatar
gtdcomputer
Thành viên danh dự
Thành viên danh dự
Posts: 1296
Joined: Fri 18/07/2008 12:08 pm
Location: Kiên Giang
Has thanked: 8 times
Been thanked: 116 times
Contact:

Re: tách dữ liệu!

Post by gtdcomputer »

NẾu độ dài chuỗi là cố định thì có thể làm thế này:
  1. Dim s1 As String, s2 As String, b() As String
  2. s1 = Mid("12@caulacbovb$",0,2) 'Tức là lấy 2 ký tự bắt đầu từ ký tự đầu tiên
  3. s1 = Mid("12@caulacbovb$", 0, InStr("12@caulacbovb$","@")) 'Tức là cắt chuỗi từ vị trí đầu tiên, đến vị trí chứa ký tự @
  4. s2 = Mid("12@caulacbovb$", 3) 'Tức là cắt từ ký tự thứ 3, đến hết chuỗi
  5. s2 = Mid("12@caulacbovb$", InStr("12@caulacbovb$","@")+1) 'Tức là cắt chuỗi từ ký tự @ đến hết chuỗi
  6. b = Split("12@caulacbovb$","@") 'Tức là tách chuỗi ra thành một mãng với ký tự phân cách là @
  7. s1 = b(0) 'Phần đầu là 12 trước ký tự phân cách
  8. s2 = b(1) 'Phần sau là caulacbovb$ sau ký tự phân cách
Con người không quan tâm đến sự thật. Họ tin cái họ muốn, và về sau, cái đó sẽ trở thành sự thật
camxuc831
Thành viên chính thức
Thành viên chính thức
Posts: 12
Joined: Tue 12/08/2014 12:19 pm
Has thanked: 5 times

Re: tách dữ liệu!

Post by camxuc831 »

tks các bác. các bác có thể chỉ mình viết bằng dòng lệnh for không? mình muốn tách dữ liệu chưa biết số lượng, vd: (một string được ngăn cách như sau bới %...@ và $...#) "%...string1( chưa biết số lượng) @....$string2(chưa biết số lượng) # ". ( ký tự @,#,%,$ là các bit start và bit stop). dùng for để tách ra và hiển thị lên 2 label
camxuc831
Thành viên chính thức
Thành viên chính thức
Posts: 12
Joined: Tue 12/08/2014 12:19 pm
Has thanked: 5 times

Re: tách dữ liệu!

Post by camxuc831 »

chỉ mình tách bằng "for" với... :3
camxuc831
Thành viên chính thức
Thành viên chính thức
Posts: 12
Joined: Tue 12/08/2014 12:19 pm
Has thanked: 5 times

Re: tách dữ liệu!

Post by camxuc831 »

chỉ mình tách bằng for với :3
Post Reply

Return to “Visual Basic 6 và Visual Basic Script (VB & VBS)”