讨个高效的分段截取字符串算法,要按指定字符
假如有这样一个字符串:
“姓名:张三/邮件:aaa@163.com/手机:13500000000/电话:01012345678 姓名:李四/邮件:nnn@163.com/手机:13500000001/电话:02012345678 姓名:张三/邮件:aaa@163.com/手机:13500000000/电话:01012345678 姓名:李四/邮件:nnn@163.com/手机:13500000001/电话:02012345678 姓名:张三/邮件:aaa@163.com/手机:13500000000/电话:01012345678 姓名:李四/邮件:nnn@163.com/手机:13500000001/电话:02012345678”
要把这个字符串进行分段,每段的长度最大只能70个字符(中英文都算一个字符)
但是不能把“电话”的号码截断,如果发现70个字符不能摆下“姓名:张三/邮件:aaa@163.com/手机:13500000000/电话:01012345678”的时候,需要从“电话:”这里截断,余下的内容放到下一段去,那么这一段的字符应该是“姓名:张三/邮件:aaa@163.com/手机:13500000000/电话:(待续)”
然后把“01012345678”放到下一段里面
那么下一段就有可能是“(接上)01012345678 姓名:李四/邮件:nnn@163.com/手机:13500000001/.............................”
为了发短信用的。请用c#或c++实现。。
自己用了个递归实现,感觉不够好
------解决方案--------------------做个判断 ':' 这个符号 也许可以实现你说的
当 '/' 大于 70 就只取到 ':' 再取下面的!
------解决方案--------------------index=0;
while(str.Length>index)
{
index++;
//写你的逻辑.
}
------解决方案--------------------