• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

Giải thuật thay thế chuỗi

Nơi trao đổi về các vấn đề trong lập trình Windows Forms, Console dùng cú pháp ngôn ngữ Visual Basic .NET và C#

Moderators: tungblt, vuathongtin

mrsiro
Posts: 7
Joined: Tue 30/09/2014 10:01 am

Giải thuật thay thế chuỗi

Postby mrsiro » Sun 20/09/2020 11:50 am

Chào mọi người, mình có datatable có dữ liệu như vùng màu xanh lá cấy. Muốn dữ liệu trả về như vùng màu xanh dương. Ai có giải thuật giúp mình nhé
Image

Code: Select all

Dim temp As New DataTable
temp.Columns.Add("Ngay", GetType(String))
temp.Columns.Add("Data", GetType(String))
temp.Rows.Add("01/01/2020","Sáng:NV1,Chiều:NV2,Sáng:NV3,Chiều:NV4,Tối:NV5,Tối:NV6")
temp.Rows.Add("02/01/2020","Sáng:NV1,Chiều:NV2,Chiều:NV4,Tối:NV5,Tối:NV6")



muaphonui_2010
Thành viên ưu tú
Thành viên ưu tú
Posts: 546
Joined: Fri 26/11/2010 1:15 pm
Location: TP.HCM
Has thanked: 190 times
Been thanked: 34 times
Contact:

Re: Giải thuật thay thế chuỗi

Postby muaphonui_2010 » Mon 21/09/2020 6:11 pm

Mình thử làm thủ công như này, bạn coi thử áp dụng được thì áp dụng nhé.

Code: Select all

 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim stringchuoi As String = "Sáng:Nam,Sáng:Hoa,Sáng:Chiều:Nguyễn,Chiều:Tuấn,Tối:Lê"
        Dim chuoichuan As String = Replace(Replace(Replace(stringchuoi, "Sáng:Chiều", "Chiều"), "Sáng:Tối", "Tối"), "Chiều:Tối", "Tối")
        Dim mang1 = chuoichuan.Split(",")
        Dim txtketquasang As String = ""
        Dim txtketquachieu As String = ""
        Dim txtketquatoi As String = ""
        Dim txtketqua As String = ""
        If mang1.Length > 0 Then
            For i As Integer = 0 To mang1.Length - 1
                Select Case Microsoft.VisualBasic.Left(mang1(i), 3)
                    Case "Sán"
                        If txtketquasang = "" Then
                            txtketquasang = mang1(i) & ","
                        Else
                            txtketquasang = txtketquasang & Replace(mang1(i), "Sáng:", "") & ","
                        End If
                    Case "Chi"
                        If txtketquachieu = "" Then
                            txtketquachieu = mang1(i) & ","
                        Else
                            txtketquachieu = txtketquachieu & Replace(mang1(i), "Chiều:", "") & ","
                        End If
                    Case "Tối"
                        If txtketquatoi = "" Then
                            txtketquatoi = mang1(i) & ","
                        Else
                            txtketquatoi = txtketquatoi & Replace(mang1(i), "Tối:", "") & ","
                        End If
                End Select
            Next
            txtketqua = Microsoft.VisualBasic.Left(txtketquasang & txtketquachieu & txtketquatoi, Len(txtketquasang & txtketquachieu & txtketquatoi) - 1)
            MsgBox(txtketqua)
        End If
    End Sub


Return to “Visual Basic .NET và C# (VB.NET & C#)”

Who is online

Users browsing this forum: No registered users and 10 guests