在javascript中我需要在max 320 char的子字符串中拆分一个未知长度的字符串,但是在\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 :(得分:2)
我的方法就是这样。
lines
)reduced
)中依次添加每一行,直到添加下一行,总长度超过320个字符。
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);
&#13;