vb.net 字串的切割问题 进阶

原始字串
"'AA试用装(福利商品)','BB纸尿裤旅行装(纸尿裤旅行装)','果C成长裤试用装(纸尿裤系列试用装)'".........很长

希望字串

(系列='福利商品' and 商品名='AA试用装') or
(系列='纸尿裤旅行装' and 商品名='BB纸尿裤旅行装')or
(系列='纸尿裤系列试用装' and 商品名='果C成长裤试用装')or...

备注:
'AA试用装(福利商品)'
前面为【商品名】,后面为【系列】
里面字串会有英文字

1个回答

Imports System.Text.RegularExpressions

Module Module1

    Sub Main()
        Dim s As String = "'AA试用装(福利商品)','BB纸尿裤旅行装(纸尿裤旅行装)','果C成长裤试用装(纸尿裤系列试用装)'"
        Dim query = s.Split(",").Select(Function(x) Regex.Match(x, "\'([^\(]+)\(([^\)]+)\)\'")) _
            .Select(Function(m) String.Format("(系列='{1}' and 商品名='{0}')", m.Groups(1).Value, m.Groups(2).Value))
        Dim result = String.Join(" or " & vbCrLf, query)
        Console.WriteLine(result)
    End Sub

End Module

(系列='福利商品' and 商品名='AA试用装') or
(系列='纸尿裤旅行装' and 商品名='BB纸尿裤旅行装') or
(系列='纸尿裤系列试用装' and 商品名='果C成长裤试用装')
Press any key to continue . . .

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问