c#的中英文混合字符串截取指定长度,startidx从0开始
//c#的中英文混合字符串截取指定长度,startidx从0开始 by gisoracle@126.com
- public string getStrLenB(string str, int startidx, int len)
 - {
 - int Lengthb = getLengthb(str);
 - if (startidx + 1 > Lengthb)
 - {
 - return "";
 - }
 - int j = 0;
 - int l = 0;
 - int strw = 0;//字符的宽度
 - bool b = false;
 - string rstr = "";
 - for (int i = 0; i < str.Length; i++)
 - {
 - char c = str[i];
 - if (j >= startidx)
 - {
 - rstr = rstr + c;
 - b = true;
 - }
 - if (IsChinese(c))
 - {
 - strw = 2;
 - }
 - else
 - {
 - strw = 1;
 - }
 - j = j + strw;
 - if (b)
 - {
 - l = l + strw;
 - if ((l+1)>= len) break;
 - }
 - }
 - return rstr;
 - }
 
    社会阅历和生活实践少了,容易钻入空洞和抽象理论的漩涡
                    
                
                
            
        
浙公网安备 33010602011771号