短信每条信息最大长度为147
如果有个短信大于147 则截取成多条,每条后加标识"[1/2]公司名称"
如:第一条:"您的工资是1000元,其中......[1/2]XX科技有限公司"
第二条:".......奖金:300,请假-100,总工资:3000,[2/2]XX科技有限公司"
注:短信内容本身是没有"[1/2]xx公司名称"的
------解决思路----------------------
长度呢?按什么规则截?如果只是随便截的话,那你循环下不就可以了?
int splitNum=50;
for(var i=0;i<str.Length;i++)
{
var startIndex = i*splitNum;
var leftLength = str.Length - startIndex;
if(leftLength>0)
{
var tmp = str.Substring(startIndex,Math.Min(leftLength,splitNum));//这个就是截取到的一段文字
}
}
------解决思路----------------------
string txt = @"您的工资是1000元,其中奖金100元,基本工资200元,卖血费300元,保密费400元,有问题请自行投河,GoodBye!!!";
string patten = @"(?<=^(?:.{30})+)";
foreach (var str in Regex.Split(txt, patten))
{
Console.WriteLine(str);
}
或者用正则直接Split也可以