我有以下字符串:
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])
答案 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)
您可以将.match与Regex配合使用,以匹配从https
到jpg
结束的子字符串,即使它们在一行中也可以匹配:
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))