为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

月关宝盒 2022-07-06 19:18:21
我有一个名为的表Product,其中包含名为 的列PriceWithDescription。上述表格的列包含如下数据。1>  pricevalue : One,and more ,pricevalue : two我想拆分这些值,以便得到如下结果。1> pricevalue : One,and more2> pricevalue : two当我使用“,”拆分数据时,它会给我如下结果。1> pricevalue : One2> and more3> pricevalue : two那么,当 value 本身包含逗号作为 value 时,拆分 value 的最佳方法是什么。
查看完整描述

3 回答

?
有只小跳蛙

TA贡献1824条经验 获得超8个赞

考虑重新设计您的表结构,使其更适合存储键值对。


但是您可以使用积极的前瞻:只有在有另一个即将到来的情况下才需要拆分,并且在此之前:不能有任何拆分。,这导致类似:


,(?=[^,]*?:)

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 : two

something else : abc , def


查看完整回答
反对 回复 2022-07-06
?
森林海

TA贡献2011条经验 获得超2个赞

您可能希望使用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


查看完整回答
反对 回复 2022-07-06
?
守候你守候我

TA贡献1802条经验 获得超10个赞

这是你可以做的。

1)使用此代码'something.split("pricevalue :")'

这将返回三个元素。

2)忽略第一个元素。

3) 对于所有不是最后一个元素的元素,去掉字符串末尾的逗号。

你会得到这个。

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


查看完整回答
反对 回复 2022-07-06
  • 3 回答
  • 0 关注
  • 95 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信