走第一行。我希望获得**之间的所有“单词”并将它们放入一个新的字符串中。
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 =“”;
填写注释后,我想控制日志记录以查看结果。
答案 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