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;
  • }
上一篇:1. Python中的基本数据类型、运算、变量


下一篇:python中的常用数据类型