需要将我的字符串值“一,二,三”转换为“一”,“二”,“三” 我有以下代码
String input = "One,two,three";
需要在hibernate中为查询发送此输入值。
因此需要将“一个”,“两个”,“三个”作为单个字符串发送,请为我提供一个简单方法来解决这个问题
答案 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..