代码之家  ›  专栏  ›  技术社区  ›  dev

如何用数字分隔分隔符

  •  -1
  • dev  · 技术社区  · 1 年前

    我使用openai来获取主题行,选择返回字符串而不是数组/对象,我需要按数字分割字符串。

    var choices = "1. "Don't Miss Out: Exclusive Deals Inside!" 2. "Hurry! Limited Time Offer Inside" 3. "Unlock Savings: Open This Email Now" 4. "Last Chance to Save Big"";
    choices = choices.split('/[0-9]+\./');
    console.log(choices)
    

    这对我不起作用。它将所有字符串显示为单个数组索引。

    我需要输出作为

    ["Don't Miss Out: Exclusive Deals Inside!","Hurry! Limited Time Offer Inside","Unlock Savings: Open This Email Now","Last Chance to Save Big"]
    
    3 回复  |  直到 1 年前
        1
  •  1
  •   PeS    1 年前

    定义不带引号的RegExp:

    const choices = `1. "Don't Miss Out: Exclusive Deals Inside!" 2. "Hurry! Limited Time Offer Inside" 3. "Unlock Savings: Open This Email Now" 4. "Last Chance to Save Big"`;
    const choicesArr = choices.split(/[0-9]+\./);
    console.log(choicesArr);
    
        2
  •  0
  •   hraynaud    1 年前

    Open AI完全能够以您想要的格式返回输出。指示AI将输出作为字符串的JSON数组返回给您,而不是解析返回的输出。

        3
  •  0
  •   GʀᴜᴍᴘʏCᴀᴛ    1 年前

    虽然可以选择 choices.split(/[0-9]+\./) 你总是可以做到:

    const choices = `1. "Don't Miss Out: Exclusive Deals Inside!" 2. "Hurry! Limited Time Offer Inside" 3. "Unlock Savings: Open This Email Now" 4. "Last Chance to Save Big"`
    
    const res = choices.split(new RegExp('\d+\.', 'g'));
    console.log(res)

    另外,请注意您的字符串无效。你会有更好的运气使用 template literals .