zoukankan      html  css  js  c++  java
  • 中英混排做字符串精确截取

       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;
            }
  • 相关阅读:
    换行的展示
    jsp页面的导出功能
    怎么设置回车键为提交功能?
    HBuilder使用心得
    js和jQuery
    前端常用技术总结--java程序员
    对压缩文件加密
    删除表中一个字段的SQL语句
    用NPOI操作EXCEL-锁定列CreateFreezePane()
    MVC 点击下载文档
  • 原文地址:https://www.cnblogs.com/shikyoh/p/3493803.html
Copyright © 2011-2022 走看看