使用Java脚本拆分字符串而不使用for循环

时间:2018-06-29 17:31:57

标签: javascript

我有以下字符串:

var myString = " https://image.ibb.co/fShWGd/samhily.jpg
                 https://image.ibb.co/iDbDUy/ramhily.jpg
                 https://image.ibb.co/cvbf9y/devoly.jpg  " 

我想得到以下数组:

var myArray = ["https://image.ibb.co/fShWGd/samhily.jpg","https://image.ibb.co/iDbDUy/ramhily.jpg", "https://image.ibb.co/cvbf9y/devoly.jpg".

关于我将如何做的任何想法?

尝试过:

myArray.split(/(\s+)/).filter( function(e) { return e.trim().length > 0; } );

但是当我t时得到console.log(myArray[1])

6 个答案:

答案 0 :(得分:4)

您可以先trim()字符串,然后在空白处分割。这使您不必再次遍历结果map()

var myString = ` https://image.ibb.co/fShWGd/samhily.jpg
                 https://image.ibb.co/iDbDUy/ramhily.jpg
                 https://image.ibb.co/cvbf9y/devoly.jpg  `

console.log(myString.trim().split(/\s+/))

答案 1 :(得分:2)

您要使用split来分割新行:

var myString = ` https://image.ibb.co/fShWGd/samhily.jpg
                 https://image.ibb.co/iDbDUy/ramhily.jpg
                 https://image.ibb.co/cvbf9y/devoly.jpg  `

var result = myString.split(/\r\n|\n/).map(i => i.trim())

// Result of all items
console.log(result)

// Result of first item in the array
console.log(result[1])

答案 2 :(得分:0)

假设您的字符串具有所有空白(因此需要用反引号(`引号)):

var myString = ` https://image.ibb.co/fShWGd/samhily.jpg
                 https://image.ibb.co/iDbDUy/ramhily.jpg
                 https://image.ibb.co/cvbf9y/devoly.jpg  `

myString.trim().split(/\s+/)

首先,它会在myString的结尾处消除空白或空白,然后将其分割成任何一组空白(\s)字符。

答案 3 :(得分:0)

您可以使用修剪拆分滤镜并映射以实现它。

var myString = ` https://image.ibb.co/fShWGd/samhily.jpg
https://image.ibb.co/iDbDUy/ramhily.jpg
https://image.ibb.co/cvbf9y/devoly.jpg  `

myString.trim().split(/\r\n|\n/).filter(Boolean);

答案 4 :(得分:0)

您可以将.matchRegex配合使用,以匹配从httpsjpg结束的子字符串,即使它们在一行中也可以匹配:

var myString = `https://image.ibb.co/fShWGd/samhily.jpg
                https://image.ibb.co/iDbDUy/ramhily.jpg
                https://image.ibb.co/cvbf9y/devoly.jpg`

var result = myString.match(/https(.*)jpg/g)

console.log(result)

答案 5 :(得分:0)

一个简单的reg exp可以用空格匹配任何东西,就会得到您想要的。

var myString = ` https://image.ibb.co/fShWGd/samhily.jpg
                 https://image.ibb.co/iDbDUy/ramhily.jpg
                 https://image.ibb.co/cvbf9y/devoly.jpg  `

console.log(myString.match(/[^\s]+/g))

相关问题