我想要将一个字符串分割成多个长度为160的子字符串,我觉得这很容易:var splits = myString.split(160);
但是显然这样做行不通。
另外,我还想添加一个计数器(类似于Android短信风格)。
假设我们有以下示例字符串(237个字符):
你好,这条消息有237个字符,太长了,无法一次发送,因此需要将其拆分成多条消息......这实际上是为了短信应用而设计的,因此我们需要拆分字符串。
最终的输出结果应该是:
你好,这条消息有237个字符,太长了,无法一次发送,因此需要将其拆分成多条消息...... thi(1/2)
s string will be split up into multiple messages... 这实际上是为了短信应用而设计的,因此我们需要拆分字符串。(2/2)
现在,如果消息总数始终不超过9条,那么我可以这样做:
//ok, so the next line won't work, but it gets the point across...
var splits = mystring.split(155);
var s = splits.length;
for(var i = 0; i < s; i++)
splits[i] += '('+(i+1)+'/'+s+')';
但问题在于可能会有多达15个消息,因此附加到末尾的字符数是不一致的(我们希望将字符计数保持尽可能低,不添加0填充数字小于10的选项)。
我该怎么做?