gpt4 book ai didi

javascript - 在\n 字符处分割字符串,但最多包含 n 个字符

转载 作者:行者123 更新时间:2023-12-02 14:37:08 25 4
gpt4 key购买 nike

在 javascript 中,我需要将未知长度的字符串拆分为最大 320 个字符的子字符串,但始终尝试在最后一次出现 \n 后进行剪切,以使每个字符串“用户友好” -每个字符串都将是一条 Facebook 消息..

示例,来自:

Ecco il tuo carrello:
• Frittata di spinaci dell'artusi
• Frittata di spinaci dell'artusi
• Frittata di spinaci dell'artusi
• Frittata di spinaci dell'artusi
• Frittata di spinaci dell'artusi
• Frittata di spinaci dell'artusi
• Frittata di spinaci dell'artusi
• Frittata di spinaci dell'artusi
• Frittata di spinaci dell'artusi
• Frittata di spinaci dell'artusi
• Frittata di spinaci dell'artusi
• Frittata di spinaci dell'artusi
• Frittata di spinaci dell'artusi
• Frittata di spinaci dell'artusi
• Frittata di spinaci dell'artusi

至:

Ecco il tuo carrello:
• Frittata di spinaci dell'artusi
• Frittata di spinaci dell'artusi
• Frittata di spinaci dell'artusi
• Frittata di spinaci dell'artusi
• Frittata di spinaci dell'artusi
• Frittata di spinaci dell'artusi
• Frittata di spinaci dell'artusi
• Frittata di spinaci dell'artusi

• Frittata di spinaci dell'artusi
• Frittata di spinaci dell'artusi
• Frittata di spinaci dell'artusi
• Frittata di spinaci dell'artusi
• Frittata di spinaci dell'artusi
• Frittata di spinaci dell'artusi

最佳答案

我的方法是这样的。

  • 将所有行放入一个数组中。 ()
  • 将每一行依次添加到另一个数组(缩减)的索引 0 处,直到添加下一行,总长度超过 320 个字符。
  • 一旦索引 0 处的字符串达到不能接受更多行的限制,就会移至索引 1 并以相同的方式继续。

var text = "Ecco il tuo carrello:\n• Frittata di spinaci dell'artusi\n• Frittata di spinaci dell'artusi\n• Frittata di spinaci dell'artusi\n• Frittata di spinaci dell'artusi\n• Frittata di spinaci dell'artusi\n• Frittata di spinaci dell'artusi\n• Frittata di spinaci dell'artusi\n• Frittata di spinaci dell'artusi\n• Frittata di spinaci dell'artusi\n• Frittata di spinaci dell'artusi\n• Frittata di spinaci dell'artusi\n• Frittata di spinaci dell'artusi\n• Frittata di spinaci dell'artusi\n• Frittata di spinaci dell'artusi\n• Frittata di spinaci dell'artusi",
lines = text.split("\n"),
i = 0,
reduced = lines.reduce((p,c) => { p[i].length + c.length <= 320 ? p[i]+= c + "\n"
: p[++i] = c + "\n";
return p;},[""]);
console.log(reduced);
console.log(reduced[0].length);
console.log(reduced[1].length);

关于javascript - 在\n 字符处分割字符串,但最多包含 n 个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37361878/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com