Hỏi Cách tách chuỗi (1 người xem)

  • Thread starter Thread starter beijin
  • Ngày gửi Ngày gửi

Người dùng đang xem chủ đề này

beijin

Thành viên mới
Tham gia
24/7/12
Bài viết
29
Được thích
0
Giới tính
Nam
Em có 1 danh sách trên 2000 dòng chứa dữ liệu
Trong mỗi ô em muốn lọc lấy dữ liệu trong dấu ngoặc kép:
Ví dụ :
Lưu ý: "Các bạn nên đọc lưu ý trước khi làm"
"1 lần nữa, nhắc lại nên đọc kỹ lưu ý" (nhắc lại)
lưu ý này chỉ mang tính chất nhắc nhở "các bạn không hiểu", xin cám ơn

dữ liệu em muốn lấy ra là chuỗi trong ngoặc kép sẽ là:
Các bạn nên đọc lưu ý trước khi làm
1 lần nữa, nhắc lại nên đọc kỹ lưu ý
các bạn không hiểu

Mong được giúp đỡ, cám ơn ạ
 
Em có 1 danh sách trên 2000 dòng chứa dữ liệu
Trong mỗi ô em muốn lọc lấy dữ liệu trong dấu ngoặc kép:
Ví dụ :
Lưu ý: "Các bạn nên đọc lưu ý trước khi làm"
"1 lần nữa, nhắc lại nên đọc kỹ lưu ý" (nhắc lại)
lưu ý này chỉ mang tính chất nhắc nhở "các bạn không hiểu", xin cám ơn

dữ liệu em muốn lấy ra là chuỗi trong ngoặc kép sẽ là:
Các bạn nên đọc lưu ý trước khi làm
1 lần nữa, nhắc lại nên đọc kỹ lưu ý
các bạn không hiểu

Mong được giúp đỡ, cám ơn ạ
Bạn hãy gửi File, dữ liệu 10 dòng làm ví dụ, mới mong có câu trả lời chính xác cho bạn được.
 
Em có 1 danh sách trên 2000 dòng chứa dữ liệu
Trong mỗi ô em muốn lọc lấy dữ liệu trong dấu ngoặc kép:
Ví dụ :
Lưu ý: "Các bạn nên đọc lưu ý trước khi làm"
"1 lần nữa, nhắc lại nên đọc kỹ lưu ý" (nhắc lại)
lưu ý này chỉ mang tính chất nhắc nhở "các bạn không hiểu", xin cám ơn

dữ liệu em muốn lấy ra là chuỗi trong ngoặc kép sẽ là:
Các bạn nên đọc lưu ý trước khi làm
1 lần nữa, nhắc lại nên đọc kỹ lưu ý
các bạn không hiểu

Mong được giúp đỡ, cám ơn ạ


dùng hàm tự tạo, công thức sẽ gọn hơn!
 
bình thường mình dùng hàm left,right, middle để tách như dấu " mình không làm được
 
Xin gửi ví dụ 10 dòng ạ
 

File đính kèm

Xin gửi ví dụ 10 dòng ạ

công thức cho A2:

PHP:
=TRIM(MID(SUBSTITUTE(A2,"""",REPT(" ",255)),255,255))


dùng vba đối với các ô mà có dạng xxxxx" YYYYYYYY" acbc "XXXXXXXXX"như sau:
Mã:
Function GPE(s)
    Dim tmp$, ObjColect, item
        tmp = s
        With CreateObject("vbscript.regexp")
            .Global = True
            .Pattern = """.+?"""
            If .test(tmp) Then
                Set ObjColect = .Execute(tmp)
            End If
            tmp = ""
            For Each item In ObjColect
                tmp = tmp & item & ","
            Next
            GPE = Left(tmp, Len(tmp) - 1)
        End With
        
End Function
 
Cám ơn anh hungpecc1 nhiều}}}}}, dùng được rồi ạ
 
Hiện tại có thêm chuỗi cần tách trong dấu <l></l>, có thể sử dụng hàm như trên ko ạ, trong câu có 2 chuỗi thì tách như thế nào?
Ví dụ mình muốn tách các chuỗi màu đỏ dưới đây ạ
<l>Total stars up to </l>
<l>Total stars up to </l><l>All progressed to </l>
[TABLE="width: 1149"]
[TR]
[TD="width: 1149"]Cost <i n=icon s=0.7/> <l c=ffffff></l> points <i n=icon s=0.7/> <l c=00f2f4>%d</l> remaining[/TD]
[/TR]
[/TABLE]
 
Chuỗi trên có dùng công thức được không ạ, hay phải dùng vba?
 
Chuỗi trên có dùng công thức được không ạ, hay phải dùng vba?
Nếu vẫn như code trên sửa patern đi một chút thì các chuỗi cách nhau bởi dấu phẩy. Còn theo cách của mình các chuỗi nằm ở các cột khác nhau. Chỉ rút các chuỗi nằm trong dấu <l></l> còn ngoài qui luật thì sẽ làm rất lâu.
Mã:
Function Rut(s As String, so As Long) As String
  Dim RX As Object, M As Object
  Set RX = CreateObject("VBScript.RegExp")
  RX.Global = True
  RX.IgnoreCase = True
  RX.Pattern = "<l>(.+?)</l>"
  Set M = RX.Execute(s)
  If so <= M.Count Then Rut = Split(Replace(M(so - 1), "/", ""), "<l>")(1)
  End Function
 

File đính kèm

Lần chỉnh sửa cuối:
Ví dụ của dòng thứ 3 không tách được ạ???
Tất cả các chữ trong dấu <> đều cần loại bỏ, có thể tách các chuỗi còn lại ra từng dòng như 2 ví dụ trên
Cost <i n=icon s=0.7/> <l c=ffffff></l> points <i n=icon s=0.7/> <l c=00f2f4>%d</l> remaining
 
Lần chỉnh sửa cuối:

Bài viết mới nhất

Back
Top Bottom