CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

C# 的字符串处理

楼主luck0236(传奇人物)2006-03-03 16:52:27 在 .NET技术 / ASP.NET 提问

用户输入一个字符串,中英文不确定。  
   
  我要按一个中文占两位,一个英文占一位这种方式截取前十位。  
  比如用户输入6个中文,那么截取前五个;用户输入十二个英文则截取前十个;用户输入中英文混合例“我们aaabbbccc”,则截取的结果为:我们aaabbb,总之中文占2英文占1总数不大于10。  
   
  求该处理函数,多谢! 问题点数:50、回复次数:3Top

1 楼sskset(断点)回复于 2006-03-03 17:33:53 得分 16

如果出现的是  
   
  "aaabb我们"   那怎么取?Top

2 楼Lukiya(路基亚)回复于 2006-03-03 17:39:28 得分 16

参考  
  public   static   string   CutString(string   str,   int   length)  
  {  
      int   i   =   0,   j   =   0;  
      foreach   (char   chr   in   str)  
      {  
          if   ((int)chr   >   127)  
          {  
              i   +=   2;  
          }  
          else  
          {  
              i++;  
          }  
          if   (i   >   length)  
          {  
              str   =   str.Substring(0,   j)   +   "…";  
              break;  
          }  
          j++;  
      }  
      return   str;  
  }Top

3 楼lovefootball(蟑螂(生活就是扯淡--做人要放低姿态))回复于 2006-03-03 17:49:32 得分 18

string   temp   =   "我们aaabbb";  
  byte[]   b   =   Encoding.GetEncoding("gb2312").GetBytes(temp);  
  这样你就可以操作byte了,中文两个byte英文一个byte  
  碰到一楼说的那种办法怎么办?自己考虑一下就可以了Top

相关问题

  • C#处理字符串的问题
  • 字符串处理
  • 字符串处理!!!
  • 字符串处理
  • 字符串处理!
  • 字符串处理
  • 字符串处理,
  • 字符串处理
  • 字符串处理
  • 字符串处理?

关键词

  • 中文
  • 用户
  • 截取
  • 英文
  • 用户输入
  • str
  • byte

得分解答快速导航

  • 帖主:luck0236
  • sskset
  • Lukiya
  • lovefootball

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo