将String =“one,two,three”转换为String ='one','two','three'

时间:2015-07-26 08:26:50

标签: java mysql string hibernate

需要将我的字符串值“一,二,三”转换为“一”,“二”,“三” 我有以下代码

String input = "One,two,three";

需要在hibernate中为查询发送此输入值。

因此需要将“一个”,“两个”,“三个”作为单个字符串发送,请为我提供一个简单方法来解决这个问题

3 个答案:

答案 0 :(得分:1)

您可以执行以下操作:

String result = input.replace(",", "','").replaceAll("(.*)", "'$1'");
  • input.replace(",", "','"),替换为',',因此在此步骤中您的字符串将如下所示:

    一 ' '2',' 3

  • 接下来我们使用正则表达式用'包围字符串,现在它看起来

    '一', '二', '三'

这就是你想要的。

正则表达式解释:我们捕获整个字符串,然后我们用它自己替换它,但用单引号包围。

参考文献:

答案 1 :(得分:1)

使用正则表达式:

input.replaceAll("(\\w+)", "\'$1\'")

在正则表达式中,'w'是单词。 http://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html#sum

答案 2 :(得分:-2)

String[] split = input.split(",");

StringBuilder sb = new StringBuilder();

for (int i = 0 ; i < split.length ; i++ ) {
   sb.append("'" + str + "'");
   if ( i != split.length-1 ) {
      sb.append(",");
   }
}



sb.toString();


not smart, but easiest..