用引号标记字符串中的单词 - JavaScript?

时间:2014-08-07 13:43:29

标签: javascript

有人可以建议采取以下方法。

我有一个内容看起来像这样的字符串。

var string = "Argentina,2,Australia,17,Azerbaijan,1,Bangladesh,1,Belgium,2"

我只想用引号括起国家/地区的名字。所以它看起来像这样。

"Argentina",2,"Australia",17,"Azerbaijan",1,"Bangladesh",1,"Belgium",2

我怎样才能实现这一目标。

提前致谢。

2 个答案:

答案 0 :(得分:0)

有很多方法可以做到这一点。

你可以拆分并循环遍历偶数索引,然后换行并重新连接起来。

或者你可以做所有类型的正则表达式模式来拉出模式

var string = "Argentina,2,Australia,17,Azerbaijan,1,Bangladesh,1,Belgium,2"
var updatedStr = string.replace(/(\D+),(\d+),/g,'"$1",$2,');

但是如果你想要一个数组,那么换行就是错误的方法。用逗号分割数组,然后将字符串转换为奇数索引中的数字。

var string = "Argentina,2,Australia,17,Azerbaijan,1,Bangladesh,1,Belgium,2";
var parts = string.split(",");
for (var i=1; i<parts.length; i+=2) {
    parts[i] = parseInt(parts[i],10);
}

为你做剩下的工作......

var string = "Argentina,2,Australia,17,Azerbaijan,1,Bangladesh,1,Belgium,2";
var parts = string.split(",");
var out = [];
for (var i=1; i<parts.length; i+=2) {
    parts[i] = parseInt(parts[i],10);
    out.push([parts[i-1],parts[i]]);
}

答案 1 :(得分:0)

var s = "Argentina,2,Australia,17,Azerbaijan,1,Bangladesh,1,Belgium,2"
var arr= s.split(",")
for (var i = 0; i < arr.length; ++i) {
  if (isNaN(arr[i])) arr[i] = "\"" + arr[i] + "\"";
  else arr[i] = arr[i];
}
alert(arr.join(","))