简体   繁体   English

在\\ n char处分割字符串,但最多n个字符

[英]Split a string at \n char but of a max of n character

in javascript I need to split a string of an unknown length in substrings of max 320 char but that trying to cut always after the last occurrence of \\n to make every string "user friendly" - every string will be a facebook message.. 在javascript中,我需要在最大320个字符的子字符串中拆分一个未知长度的字符串,但尝试在最后一次出现\\n后总是进行切割,以使每个字符串“用户友好”-每个字符串都是一条Facebook消息。

Example, from: 示例,来自:

Ecco il tuo carrello: 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 •菜肉馅煎蛋饼

to: 至:

Ecco il tuo carrello: 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 •菜肉馅煎蛋饼

and

• 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 •菜肉馅煎蛋饼

My approach would be like this. 我的方法是这样的。

  • Get all lines into an array. 将所有行放入数组。 ( lines ) lines
  • Add each line one after the other in another array ( reduced ) at index 0 up until if the next line is added the total length exceeds 320 characters. 添加每个线一个接一个地在另一个数组后( reduced在索引0处),直到如果添加下一行的总长度超过320个字符。
  • Once the string at index 0 reaches to the limit to accept no more lines move on to index 1 and continue the same way. 一旦索引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); 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Nodejs字符串除以\\ n而不是\\\\ n - Nodejs String split by \n but not \\n 在 N 个间隔中拆分一个范围的最小值和最大值 - Split a range of min and max in N intervals 字符串拆分,避免使用“ \\ n” JavaScript - String split with avoid “\n” JavaScript 将字符串拆分为n个长度的数组 - Split string into array of n length 将一个字符串分成 N 个长度的部分 - Split a string into N length parts 将字符串拆分为每个数组元素的 2 个字符,长度为 n,然后 1 个字符用于 JavaScript 中的剩余元素 - Split string into 2 chars per array element for n length then 1 char for remaining elements in JavaScript 正则表达式/JavaScript:拆分字符串以按每行最大字符数分隔行,并向后查找 n 个字符以寻找可能的空格? - Regex / JavaScript: Split string to separate lines by max characters per line with looking n chars backwards for a possible whitespace? 用逗号|分号在 JavaScript 中的 n-max-size 块中分割大字符串 - Split large string by comma|semicolon in n-max-size chunks in JavaScript 使用JavaScript,如何按照这些参数/规则生成randm 11字符字符串? (L,L,L,L / N,L / N,N,N,N,N,N,N) - Using JavaScript, how to generate a randm 11 char string following these param/rules? (L,L,L,L/N,L/N,N,N,N,N,N,N) 为什么不能在 \r\n 处拆分字符串? - Why string can't be split at \r\n?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM