Tách từng chữ trong một chuỗi nhiều trường hợp

Liên hệ QC
1 vấn đề; 18 lần trao đổi, trong đó có 4 lần code và 6 lần góp ý.
Trình độ diễn tả vấn đè của thớt đáng nể thật :D
Cám ơn anh đã góp ý, tuy nhiên anh cũng góp phần thêm một lần trao đổi mà mình cho rằng nó vô nghĩa vì không mang tính xây dựng và đóng góp hơn là chỉ trích người khác.
Bài đã được tự động gộp:

Thử Function
Mã:
Function XYZ(ByVal iText As String, ByVal iIndex As Integer) As String
  Dim S_tmp, tmp, S, Res, iChr$, i&, k&

  S_tmp = Split(Application.Trim(iText))
  For Each tmp In S_tmp
    For i = Len(tmp) To 2 Step -1
      If (Abs(AscW(Mid(tmp, i, 1))) > 7929) <> (Abs(AscW(Mid(tmp, i - 1, 1))) > 7929) Then
        tmp = Mid(tmp, 1, i - 1) & " " & Mid(tmp, i, Len(tmp))
      End If
    Next i
    S = Split(tmp)
    For Each Res In S
      If Abs(AscW(Mid(Res, 1, 1))) > 7929 Then
        For i = 1 To Len(Res)
          iChr = Mid(Res, i, 1)
          If AscW(iChr) < 0 Then
            If i < Len(Res) Then
              If AscW(Mid(Res, i + 1, 1)) < 0 Then
                iChr = Mid(Res, i, 2)
                i = i + 1
              End If
            End If
          End If
          k = k + 1
          If k >= iIndex Then XYZ = iChr: Exit Function
        Next i
      Else
        k = k + 1
        If k = iIndex Then XYZ = Res: Exit Function
      End If
    Next Res
  Next tmp
End Function
Code đã cho ra kết quả hết sức tuyệt vời.
Chân thành cám ơn anh và chúc anh thật nhiều sức khỏe nhé.
 
Lần chỉnh sửa cuối:
Cám ơn anh đã góp ý, tuy nhiên anh cũng góp phần thêm một lần trao đổi mà mình cho rằng nó vô nghĩa vì không mang tính xây dựng và đóng góp hơn là chỉ trích người khác.
...
Tôi biết ở đây nhiều người là dân da mặt mỏng. Chỉ muốn nhờ vả mà không muốn tiến bộ.
Tôi góp ý xây dựng cho người khác: nhìn kỹ lại vấn đề, tìm cách diễn giải nó rõ rệt và nghiêm chỉnh là đã tự mình giải quyết được gần hết.

Ở đây ai cũng biết tôi không bao giờ khuyến khích kiểu giải thích vấn đề một cách nhỏ giọt.
 
Web KT
Back
Top Bottom