【问题标题】:Get specific charters from raw string [duplicate]从原始字符串中获取特定字符[重复]
【发布时间】:2019-12-16 09:26:06
【问题描述】:

我有一个原始字符串,例如“fsfsdfsdd [qwewqewe] sdfsdfdf sdfsd[sdf]”。如何从 [] 此框的内部和 [] 此框的外部获取值。 O/P fsfsdfsdd,sdfsdfdf,sdfsd & qwewqewe,sdf 是否可以使用 JavaScript RegExp?

【问题讨论】:

    标签: javascript


    【解决方案1】:

    试试这个解决方案:

    str = "fsfsdfsdd [qwewqewe] sdfsdfdf sdfsd[sdf]";
    s = str.match(/\[(\w+?)\]/g);
    s.forEach(i => console.log(i));
    

    不带方括号:

    res = Array.from(str.matchAll(/\[(.+?)\]/g));
    res.forEach(i => console.log(i[1]));
    

    【讨论】:

    • 它只显示在框内的值
    • @vijay,我添加了一个排除方括号的解决方案。尽情享受吧!
    【解决方案2】:

    let str = "fsfsdfsdd [qwewqewe] sdfsdfdf sdfsd[sdf]";
    let regex = /(?<=\[)(.*?)(?=\])/g;
    let s1 = str.match(regex);      // strings in the brackets
    let s2 = str.replace(regex, '').replace(/[[]]/g, '').replace(/\s/, '').split(' '); // strings outside the brackets
    
    let result = [...s1, ...s2]
    
    console.log(result)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-03-09
      • 1970-01-01
      • 2012-12-28
      • 1970-01-01
      • 2014-12-02
      • 2016-02-28
      相关资源
      最近更新 更多