请问这样的字符串,如何提取出对象类型:第01集: ‘http://xxxxxx’正则表达式不会,但是利用JS想不出办法解决?

第04集$https://youku.cdn1-okzy.com/share/a8bfe36fa885d46814378912f268a8a1$$$第01集$https://youku.cdn1-okzy.com/20200406/14933_31886b53/index.m3u8#第02集$https://youku.cdn1-okzy.com/20200406/14934_87bdd380/index.m3u8#第03集$https://youku.cdn1-okzy.com/20200406/14935_315c0332/index.m3u8#第04集$https://youku.cdn1-okzy.com/20200406/14958_91ca7e39/index.m3u8

请问这样的字符串,如何提取出对象类型:第01集: ‘http://xxxxxx’
正则表达式不会,但是利用JS想不出办法解决?

你这个不太规律吧,第一集和第二集的分割方式无法做到统一。如果都像第二级、第三集一样的分隔符就行。

var a = str.split('#');
var b = [];
for(var i = 0;i<a.length;i++){
    b.push(a[i].split('$'))
}

这个b最后就是一个二维数组,每个里面子数组里面的第一个都是第几集,第二个都是播放地址。你可以试一下, 还有就是对象的字段名不能有汉字。满足不了你的{第一集:xxxxxxxx}

可以满足给出的例子

let orgStr =  '第04集$https://youku.cdn1-okzy.com/share/a8bfe36fa885d46814378912f268a8a1$$$第01集$https://youku.cdn1-okzy.com/20200406/14933_31886b53/index.m3u8#第02集$https://youku.cdn1-okzy.com/20200406/14934_87bdd380/index.m3u8#第03集$https://youku.cdn1-okzy.com/20200406/14935_315c0332/index.m3u8#第04集$https://youku.cdn1-okzy.com/20200406/14958_91ca7e39/index.m3u8'

    let regex = new  RegExp(/第\d+集/g)
    let urlArray = orgStr.split(regex)
    let nameArray:  any =  orgStr.match(regex) 
    let resultArray: any = []
    nameArray.forEach((item,index) => {
      resultArray.push(
        {
          name:item,
          url:urlArray[index + 1]
        }
      )
    })
    console.log(resultArray)