博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
中英混排做字符串精确截取
阅读量:6941 次
发布时间:2019-06-27

本文共 2039 字,大约阅读时间需要 6 分钟。

private ArrayList GetSeparateSubString(string mOrigianlString, int subStringCharNumber)        {            ArrayList resultList = new ArrayList();             string tempStr = mOrigianlString;             int charNumber = subStringCharNumber;             int totalCount = 0;             string mSubStr = "";             for (int i = 0; i < tempStr.Length; i++)            {                string mChar = tempStr.Substring(i, 1);                 int byteCount = Encoding.Default.GetByteCount(mChar);                //关键点判断字符所占的字节数                   if (byteCount == 1)                 {                     totalCount++;                     mSubStr += mChar;                     if (totalCount == charNumber || i == tempStr.Length - 1)                     {                         resultList.Add(mSubStr);                         totalCount = 0;                         mSubStr = "";                     }                 } else if (byteCount > 1)                 {                     totalCount += 2;                    if (totalCount > charNumber)                     {                        resultList.Add(mSubStr);                         if (i == tempStr.Length - 1)                         {                             mSubStr = mChar;                            resultList.Add(mSubStr);                         } else {                             totalCount = 2;                             mSubStr = mChar;                         }                    } else if (totalCount == charNumber)                     {                         mSubStr += mChar;                         resultList.Add(mSubStr);                        totalCount = 0;                        mSubStr = "";                     } else if (i == tempStr.Length - 1) {                        mSubStr += mChar;                         resultList.Add(mSubStr);                    } else {                        mSubStr += mChar;                     }                 }            } return resultList;        }

 

转载于:https://www.cnblogs.com/shikyoh/p/3493803.html

你可能感兴趣的文章
初次学习 Docker Volume 的基本使用 (四)
查看>>
关于饭局狼人杀app上的12人守卫局的那些事儿
查看>>
Java中的异常处理
查看>>
深入理解ES6之《块级作用域绑定》
查看>>
Solution - 收藏集 - 掘金
查看>>
分享一个可用于拖动排序的vue组件
查看>>
深入解析Vue源码
查看>>
浏览器缓存机制
查看>>
【183天】黑马程序员27天视频学习笔记【Day14-上】
查看>>
2017-06-21 前端日报
查看>>
工作遇到问题的解决方案
查看>>
C学习-函数(三)
查看>>
CentOS 6安装和配置VNC(转)
查看>>
初步接触GraphQL
查看>>
ThinkPHP3.2.3 常见问题(不断更新)
查看>>
Redux概念之三: Action(动作)与Action Creator(动作创建器)
查看>>
【小玩】cc-audiobuffer 一个切片语音拼接工具
查看>>
vuejs 1.x - 实例:搜索过滤
查看>>
将PostgreSQL数据库扩展到每个月12亿条记录的经验教训
查看>>
Instana发布微服务应用程序样例
查看>>