C#实现中英文混合字符串截取的方法

本文实例讲述了C#实现中英文混合字符串截取的方法,是C#字符串操作中非常常用的一个方法。分享给大家供大家参考之用。具体方法如下:

具体功能代码如下:

/// <summary>
/// 截取中英文混合字符串
/// </summary>
/// <param name="text">字符文本</param>
/// <param name="length">截取长度</param>
/// <param name="replacetxt">replacetxt替换的多余字符</param>
/// <returns></returns>
public string GetString(string text, int length, string replacetxt)
{
 int strLength = 0;
 StringBuilder strb = new StringBuilder();
 char[] Temp = text.ToCharArray();
 for (int i = 0; i != Temp.Length; i++)
 {
  if (strLength >= length) //
  {
   strb.Append(replacetxt);
   break;
  }
  else
  {
   if (((int)Temp[i]) < 255) //大于255的都是汉字或者特殊字符
   {
    strLength++;
   }
   else
   {
    strLength = strLength + 2;
   }
   strb.Append(Temp[i]);
  }
 }
 return strb.ToString();
}

希望本文所述方法对大家C#程序设计有所帮助。

除声明外,跑步客文章均为原创,转载请以链接形式标明本文地址
  C#实现中英文混合字符串截取的方法

本文地址:  http://www.paobuke.com/develop/c-develop/pbk23588.html

相关内容

C#使用NOPI库实现导入Excel文档

总结C#网络编程中对于Cookie的设定要点

C#利用反射技术实现去掉按钮选中时的边框效果

C#实现毫秒转换成时分秒的方法


C#中DataGridView操作技巧

C#实现解析百度天气数据,Rss解析百度新闻以及根据IP获取所在城市的方法

Winform实现抓取web页面内容的方法

C#中结构(struct)的部分初始化和完全初始化实例分析

时间: 2024-11-06 07:17:32

C#实现中英文混合字符串截取的方法的相关文章

c#的中英文混合字符串截取

public class StringHelper     {         public static string GetSubString(string str, int len)         {             string result = string.Empty;// 最终返回的结果             int byteLen = System.Text.Encoding.Default.GetByteCount(str);// 单字节字符长度          

中英文混合字符串截取java

//截取字符串长度(中文2个字节,半个中文显示一个) public String subTextString(String str,int len){ if(str.length()<len/2)return str; int count = 0; StringBuffer sb = new StringBuffer(); String[] ss = str.split(""); for(int i=1;i<ss.length;i++){ count+=ss[i].getB

求中英文混合字符串长度,中英文混合字符串截取(汉字2个字节,字母数字等1个字节),字符转ASCII码

/// <summary> /// 求字符串的实际长度(汉字2个字节,外语字符1个字节) /// </summary> /// <param name="str"></param> /// <returns></returns> public static int Length(string str) { int len = 0; char[] arr = str.ToCharArray(); for (int i

C#语言之“中英文混合字符串对齐”的方法

参考自:(1)http://www.cnblogs.com/cnluoke/articles/1213398.html (2)http://www.cnblogs.com/sql4me/archive/2009/11/16/1603996.html 方法一:将已有字符串组织成新字符串时填充 由于某一个字段,包含有汉字和数字.而一个汉字是两位占位符的大小,如果单从字符串长度来看,一个汉字的长度为1.假如按一个包含汉字字符串长度就等于占位符大小(如果只包含字母和数字的字符串这样计算是对的)来计算的话

ASP如何计算中英文混合字符串长度和截取字符串

用ASP做网站的时候经常会碰到要截取字符串的情况.ASP中的Len函数不管是中文字符,还是英文字符,统统按一个单位来计算,由于一个中文字符的宽度是一个英文字符宽度的两倍,在中英文混合的情况下字符串实际占用的宽度就不好计算了,如果按照Len函数计算的长度来截取字符串截出来的效果也会长短不一,下面是按照一个汉字相当于两个英文字符来计算字符串长度和截取字符串的代码 计算中英文混合字符串的长度: [vb] view plaincopyprint? function getStringLen(str) o

中英文混合字符串长度

得到中英文混合字符串长度 方法1 - (int)convertToInt:(NSString*)strtemp { int strlength = 0; char* p = (char*)[strtemp cStringUsingEncoding:NSUnicodeStringEncoding]; for (int i=0 ; i<[strtemp lengthOfBytesUsingEncoding:NSUnicodeStringEncoding] ;i++) { if (*p) { p++;

PHP获取中英文混合字符串的字数

function ccStrLen($str) #计算中英文混合字符串的长度 { $ccLen=0; $ascLen=strlen($str); $ind=0; $hasCC=ereg("[xA1-xFE]",$str); #判断是否有汉字 $hasAsc=ereg("[x01-xA0]",$str); #判断是否有ASCII字符 if($hasCC && !$hasAsc) #只有汉字的情况 return strlen($str)/2; if(!$

shell进行字符串截取的方法

Linux 的字符串截取有八种方法. 假设有变量 var=http://www.aaa.com/123.htm. 1. # 号截取,删除左边字符,保留右边字符. 代码如下:echo ${var#*//} 其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符即删除 http://结果是 :www.aaa.com/123.htm 2. ## 号截取,删除左边字符,保留右边字符. 代码如下:echo ${var##*/} ##*/ 表示从左边开始删除最后(

C#截取中英文混合字符串分行显示

private int GetStrByteLength(string str) { return System.Text.Encoding.Default.GetByteCount(str); } private string SubStrLenth(string str, int startIndex, int length) { int strlen = GetStrByteLength(str); if (startIndex + 1 > strlen) { return "&qu