Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Javascript拆分字符串而不使用for循环_Javascript - Fatal编程技术网

使用Javascript拆分字符串而不使用for循环

使用Javascript拆分字符串而不使用for循环,javascript,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"

我有以下字符串:

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; } );
但是当我执行
console.log(myArray[1])时,我得到了
t
,您要使用它在新行上拆分:

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())
//所有项目的结果
console.log(结果)
//数组中第一项的结果
console.log(结果[1])
要用于在新行上拆分:

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())
//所有项目的结果
console.log(结果)
//数组中第一项的结果
log(结果[1])
您可以先
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+/)
您可以先
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+/)
假设您的字符串包含所有空格(因此需要用反勾(
`
):


首先,这将删除
myString
末尾的空格,然后在任何一组空格(
\s
)字符上进行拆分。

假设您的字符串包含所有空格(因此需要用反勾(
`
)引用):


首先,这将在
myString
的末尾删除或删除空格,然后在任何一组空格(
\s
)字符上拆分。

您可以使用修剪拆分筛选器和映射来实现此操作

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);

您可以使用修剪分割过滤器和贴图来实现它

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);
您可以与a一起使用来匹配以
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)
您可以使用a来匹配以
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)

log(result)
一个简单的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  `

log(myString.match(/[^\s]+/g))
通过空格匹配任何内容的简单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))
尝试了什么吗?“我有以下字符串”。不,你没有。你不可能在任何地方的javascript中都有这样的代码而不出现语法错误。你的字符串真的有那么多空格吗?你的字符串正确吗?两个URL之间有空格?对于您尝试过的内容,您不是想以
myString
开始这一行吗?尝试过任何内容吗?“我有以下字符串”。不,你没有。你不可能在任何地方的javascript中都有这样的代码而不出现语法错误。你的字符串真的有那么多空格吗?你的字符串正确吗?两个URL之间有空格?对于您尝试过的内容,您不是想以
myString
开始那一行吗?这不是OP的输入字符串的样子,这不起作用不是OP的字符串。这不是OP的输入字符串的样子,这不起作用不是OP的字符串。