3

我有一个字符串

var test = "1,2,3,4";

我需要将单引号 ( ' ') 附加到此字符串的所有字符,如下所示:

var NewString = " '1','2','3','4' ";

请给我任何建议。

4

6 回答 6

11

首先,我会将字符串拆分为一个数组,这样可以更轻松地操作为您想要的任何形式。然后,你可以用任何你想要的胶水把它重新粘在一起(在这种情况下',')。剩下要做的唯一事情是确保它正确地开始和结束(在这种情况下使用')。

var test = "1,2,3,4";

var formatted = "'" + test.split(',').join("','") + "'"
于 2012-11-22T12:34:09.173 回答
5
var newString = test.replace(/(\d)/g, "'$1'");

JS Fiddle 演示(请打开您的 JavaScript/开发人员控制台以查看输出)。

对于多位数字:

var newString = test.replace(/(\d+)/g, "'$1'");

JS 小提琴演示

参考:

于 2012-11-22T12:35:32.553 回答
1

一个简短而具体的解决方案:

"1,2,3,4".replace(/(\d+)/g, "'$1'")

一个更完整的解决方案,它引用任何元素并处理分隔符周围的空间:

"1,2,3,4".split(/\s*,\s*/).map(function (x) { return "'" + x + "'"; }).join(",")
于 2012-11-22T12:38:59.727 回答
1

更简单

test = test.replace(/\b/g, "'");
于 2012-11-22T12:39:37.670 回答
0

使用正则表达式:

var NewString = test.replace(/(\d+)/g, "'$1'");
于 2012-11-22T12:37:05.860 回答
0

字符串实际上就像一个数组,所以你可以这样做:

var test = "1,2,3,4";
var testOut = "";
for(var i; i<test.length; i++){
   testOut += "'" + test[i] + "'";
}

这当然是通过附加到每个字符(包括任何逗号等)来从字面上回答您的问题。

如果您需要保留逗号,只需test.split(',')事先使用并在之后添加。(如果不清楚,可根据要求提供进一步解释)。

于 2012-11-22T12:39:11.530 回答