eke_rula
Thành viên tích cực


- Tham gia
- 12/11/16
- Bài viết
- 1,076
- Được thích
- 1,245
Em có đoạn code:
Kết quả của đoạn code trên tạo ra là chuỗi sau khi loại trùng hết (text) và liệt kê các chuỗi text bị trùng (text2)
- Sau khi chay code được text2, nhưng đoạn text2 lúc nào cũng có dấu "|" ở đầu và cuối, em có thể dùng Application.SUBSTITUTE để loại dấu "|" đầu và cuối, nhưng trong VBA có hàm replace , em đã thử replace(text,text2,"",,1) nhưng không được, cho em hỏi là em có thể dùng replace trong trường hợp này được không?
- Kết quả text2="| Dien | dan | 2017 | phap | Dan | excel" , bị trùng chữ "dan" và "Dan", em đã dùng Instr để xác định xem xuất hiện trong chuỗi không nhưng sao kết quả text2 vẫn có trùng, nhờ các anh/chị xem và chỉnh code dùm em.
Em cám ơn!!
PHP:
Sub tachtrung2()
Dim i As Long, j As Long, text As String, text2 As String, text3 As String
text3 = "Dien;Dien;Dan;dien;giai;phap;dien;dan;phap;excel;Excel;phap;dan;2017;2017;dien;EXCEL;2017"
text = Replace(";" & text3 & ";", ";", " ")
With CreateObject("vbscript.regexp")
.Global = True
.ignorecase = True
.Pattern = "((\s\w+\s).+)\2"
Do While .test(text)
text = .Replace(text, "$1 ")
i = 0
For Each subl In .Execute(text)
If InStr(text2, Trim(.Execute(text).Item(i).submatches(1))) = 0 Then
text2 = text2 & " | " & Trim(.Execute(text).Item(i).submatches(1))
End If
i = i + 1
Next
Loop
End With
MsgBox ("- " & Application.Trim(text) + ChrW(10) & "- " & text2)
End Sub
- Sau khi chay code được text2, nhưng đoạn text2 lúc nào cũng có dấu "|" ở đầu và cuối, em có thể dùng Application.SUBSTITUTE để loại dấu "|" đầu và cuối, nhưng trong VBA có hàm replace , em đã thử replace(text,text2,"",,1) nhưng không được, cho em hỏi là em có thể dùng replace trong trường hợp này được không?
- Kết quả text2="| Dien | dan | 2017 | phap | Dan | excel" , bị trùng chữ "dan" và "Dan", em đã dùng Instr để xác định xem xuất hiện trong chuỗi không nhưng sao kết quả text2 vẫn có trùng, nhờ các anh/chị xem và chỉnh code dùm em.
Em cám ơn!!
Lần chỉnh sửa cuối: