我怎么能以'&h; HtmlElement#idName.className.anotherClassName'?格式拆分字符串?

时间:2018-05-18 20:00:22

标签: javascript regex

我有一个像header#top.header.header--show-offset这样的字符串,我很难知道如何将它分成[ 'header', '#top', '.header', '.header--show-offset' ]

之类的字符串

谢谢!

2 个答案:

答案 0 :(得分:3)

您可以使用正则表达式:



let str ="header#top.header.header--show-offset";

// Keep the delimiter
let res = str.split(/(?=[#.])/gi);

console.log(res);




答案 1 :(得分:1)

我会分两步完成:

  1. 用逗号替换id和class符号,然后用符号
  2. 替换
  3. 用逗号分隔结果字符串
  4. 
    
    var selectorString = "header#top.header.header--show-offset";
    selectorString = selectorString.replace(/#/g, ",#")
    selectorString = selectorString.replace(/\./g, ",.");
    var selectorList = selectorString.split(",");
    console.log(selectorList);