新行换行javascript字符串中的每两个单词

时间:2019-02-20 16:39:24

标签: javascript

我只有一个字符串

string = "example string is cool and you're great for helping out" 

我想每两个单词插入一个换行符,因此它返回以下内容:

string = 'example string \n
is cool  \n
and you're  \n
great for \n
helping out'

我正在使用变量,因此无法手动执行。我需要一个可以接受此字符串并为我处理的函数。

谢谢!!

4 个答案:

答案 0 :(得分:3)

您可以使用字符串的替换方法。

   (.*?\s.*?\s)
  • .*?-匹配除换行以外的所有内容。惰性模式。
  • \s-匹配一个空格字符。

let string = "example string is cool and you're great for helping out" 

console.log(string.replace(/(.*?\s.*?\s)/g, '$1'+'\n'))

答案 1 :(得分:1)

我将使用以下正则表达式:enter code here for(int i = 0; i < list.size(); i++) { int j = list.size() - i - 1; // HOW DOES THIS LINE WORK result.add(list.get(j)); } return result; } }

(\s+\s*){1,2}

答案 2 :(得分:0)

首先,将列表拆分为数组array = str.split(" "),并初始化一个空字符串var newstring = ""。现在,遍历所有数组项,并使用换行符array.forEach(function(e, i) {newstring += e + " "; if((i + 1) % 2 = 0) {newstring += "\n "};})将所有内容重新添加到字符串中 最后,您应该具有:

array = str.split(" ");
var newstring = "";
array.forEach(function(e, i) {
    newstring += e + " "; 
    if((i + 1) % 2 = 0) {
        newstring += "\n ";
    }
})

newstring是带有换行符的字符串!

答案 3 :(得分:0)

let str = "example string is cool and you're great for helping out" ;

function everyTwo(str){
    return str
        .split(" ") // find spaces and make array from string
        .map((item, idx) => idx % 2 === 0 ? item : item + "\n") // add line break to every second word
        .join(" ") // make string from array
}

console.log(
    everyTwo(str)
)

output => example string
 is cool
 and you're
 great for
 helping out