如何使用逗号从我的数据库表的特定列中拆分值?

我有一个名为的表Product,其中包含名为 的列PriceWithDescription。


上述表格的列包含如下数据。


1>  pricevalue : One,and more ,pricevalue : two

我想拆分这些值,以便得到如下结果。


1> pricevalue : One,and more

2> pricevalue : two

当我使用“,”拆分数据时,它会给我如下结果。


1> pricevalue : One

2> and more

3> pricevalue : two

那么,当 value 本身包含逗号作为 value 时,拆分 value 的最佳方法是什么。


月关宝盒
浏览 96回答 3
3回答

有只小跳蛙

考虑重新设计您的表结构,使其更适合存储键值对。但是您可以使用积极的前瞻:只有在有另一个即将到来的情况下才需要拆分,并且在此之前:不能有任何拆分。,这导致类似:,(?=[^,]*?:)Java代码:String s = "pricevalue : One,and more ,pricevalue : two,something else : abc , def";String[] ss = s.split(",(?=[^,]*?:)");for(String si : ss) {    System.out.println(si);}https://ideone.com/v66rTO输出:pricevalue : One,and more pricevalue : twosomething else : abc , def

森林海

您可能希望使用String#split带有前瞻的正则表达式pricevalue正则表达式:,(?=pricevalue)Java 中的示例String str = "pricevalue : One,and more ,pricevalue : two";String[] splitted = str.split(",(?=pricevalue)");for (String s : splitted) {    System.out.println(s);}印刷pricevalue : One,and more pricevalue : two

守候你守候我

这是你可以做的。1)使用此代码'something.split("pricevalue :")'这将返回三个元素。2)忽略第一个元素。3) 对于所有不是最后一个元素的元素,去掉字符串末尾的逗号。你会得到这个。1> pricevalue : One,and more 2> pricevalue : two
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java