weixin_40187983 2019-07-05 07:29 采纳率: 100%
浏览 188
已采纳

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

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

希望字串

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

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

  • 写回答

1条回答 默认 最新

  • threenewbee 2019-07-05 09:49
    关注
    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 . . .

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?