javascript中的连接 - 从数组中取出单词并将它们放入新的字符串中

时间:2017-01-24 02:04:34

标签: javascript string

走第一行。我希望获得**之间的所有“单词”并将它们放入一个新的字符串中。

var str = "John Smith The vladimir *G3* asterix *rocket* ";
var re = /\s/g;
var splitter = str.split(re); // Splitting words and putting them in array


var note = ""; // Empty string to be concatinated
console.log(note);
for (var i = 0; i < splitter.length; i++) {

  var bold = /\*\w+\W+/;
  if (! (splitter[i].search(bold))) {
    console.log("this is the bold text: " + splitter[i]); // *G3*, *rocket*
    bolded = splitter[i];

    note.concat(bolded, " ");
  }
  // else

}

我们可以看到我有空字符串等待填充,当我循环浏览我的第一个字符串中的单词时,我确实得到了围绕星星的所有项目**。但不知何故,我不能将它们连接成新的:

var note =“”;

填写注释后,我想控制日志记录以查看结果。

2 个答案:

答案 0 :(得分:1)

我不是专家,但这是你在找什么?

var str = "John Smith The vladimir *G3* asterix *rocket* ";
var re = /\s/g;
var splitter = str.split(re); // Splitting words and putting them in array


var note = []; // Empty array for words
console.log(note);
for (var i = 0; i < splitter.length; i++) {

  var bold = /\*\w+\W+/;
  if (! (splitter[i].search(bold))) {
    console.log("this is the bold text: " + splitter[i]); // *G3*, *rocket*
    bolded = splitter[i];

    note.push(bolded);
  }
  // else

}

var my_string = note.join(" ")
console.log(my_string)

答案 1 :(得分:0)

我认为你的问题在这里:

note.concat(bolded, " ");

.concat方法返回note联合的结果和新建的单词bolded

你必须这样做:

note = note.concat(bolded, " ");

有关更多说明,请参阅:https://developer.mozilla.org/es/docs/Web/JavaScript/Referencia/Objetos_globales/Array/concat