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#程序设计有所帮助。

(0)

相关推荐

  • C#区分中英文按照指定长度截取字符串的方法

    本文实例讲述了C#区分中英文按照指定长度截取字符串的方法.分享给大家供大家参考.具体如下: 这段C#代码用于按照指定的长度截取字符串,一个中文字符算2个字符,按照这个方法截取的字符串基本可以保持显示长度一致 /// <summary> /// 截取文本,区分中英文字符,中文算两个长度,英文算一个长度 /// </summary> /// <param name="str">待截取的字符串</param> /// <param nam

  • C#实现根据字节数截取字符串并加上省略号的方法

    本文实例讲述了C#按字节数截取字符串并在后面加上省略号...的方法,这是一个自定义的C#函数,函数的使用说明如下: <param name="origStr">原始字符串</param> <param name="endIndex">提取前endIdex个字节</param> <returns></returns> 函数代码如下: public static string GetSubStrin

  • C#中英文混合字符串截取函数

    代码一 /// <summary> /// 截断字符串 /// </summary> /// <param name="maxLength">最大长度</param> /// <param name="str">原字符串</param> /// <returns></returns> public static string CutStr(int maxLength, s

  • C#中按字符串截取长字符串实例

    本文实例讲述了C#中按字符串截取长字符串的方法.分享给大家供大家参考.具体方法如下: 一般来说使用string自带的split就可以,但是split只能按char类型截取,不是很方便. 按字符串截取,使用的是正则表达式,简单的两行代码,就解决很多问题. 如下 复制代码 代码如下: string content =@"长字符创";  Regex regex = new Regex(@"按照截断的字符串");  string[] result = regex.Split

  • C#字符串的截取函数用法总结

    本文实例总结了C#常用的字符串截取函数用法.分享给大家供大家参考.具体分析如下: 在C#中字符串截取函数包括有substring 函数,Remove 函数,indexOf 函数,它们三个都可以对字符串进行截取操作,下面我们来分别介绍一下. 下面是截取字符串过程中我们必须知道的以下函数:substring 函数.Remove 函数.indexOf函数. substring 函数: 返回第一个参数中从第二个参数指定的位置开始.第三个参数指定的长度的子字符串. 如果未指定第三个参数,将返回从第二个参数

  • C#实现左截取和右截取字符串实例

    本文实例讲述了C#实现左截取和右截取字符串的方法,分享给大家供大家参考.具体方法分析如下: 问题如下: 使用C#语法编写程序时,我们需要截取一个字符串左边或右边的若干个字符,该如何操作呢? 在VB中可以使用left或right函数实现,C#中没有提供这样的函数呢?答案是没有.但是,C#中提供Substring方法可以实现相关功能.   首先我们回顾一下Substring方法.   用法一: String.Substring 方法 (startIndex, length)   返回此String中

  • C#截取中英文混合指定长度字符串实例

    复制代码 代码如下: using System.Text.RegularExpressions;using System.Text; /// <summary>/// 字符串长度(按字节算)/// </summary>/// <param name="str"></param>/// <returns></returns>static int StrLength(string str){    int len =

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

    本文实例讲述了C#实现中英文混合字符串截取的方法,是C#字符串操作中非常常用的一个方法.分享给大家供大家参考之用.具体方法如下: 具体功能代码如下: /// <summary> /// 截取中英文混合字符串 /// </summary> /// <param name="text">字符文本</param> /// <param name="length">截取长度</param> /// &l

  • JavaScript获取中英文混合字符串长度的方法示例

    本文实例讲述了JavaScript获取中英文混合字符串长度的方法.分享给大家供大家参考,具体如下: JavaScript获取中英文混合字符串的长度方法: function StrLen(sString) { var j = 0; var s = sString; if (s=="") return j; for (var i=0; i<s.length; i++) { if (s.substr(i,1).charCodeAt(0)>255) j = j + 2; else

  • PHP针对中英文混合字符串长度判断及截取方法示例

    本文实例讲述了PHP针对中英文混合字符串长度判断及截取方法.分享给大家供大家参考,具体如下: /** * * 中英混合字符串长度判断 * @param unknown_type $str * @param unknown_type $charset */ function strLength($str, $charset = 'utf-8') { if ($charset == 'utf-8') $str = iconv ( 'utf-8', 'gb2312', $str ); $num = s

  • php 截取中英文混合字符串的方法

    php 截取中应为字符串,就不必再用substr或者mb_substr //截取想这样的字符串 a李三 利用ASCII /** * * 中英混合的字符串截取 * @param unknown_type $sourcestr * @param unknown_type $cutlength */ function assoc_substr($sourcestr, $cutlength) { $returnstr = ''; $i = 0; $n = 0; $str_length = strlen

  • Joomla框架实现字符串截取的方法示例

    本文实例讲述了Joomla框架实现字符串截取的方法.分享给大家供大家参考,具体如下: 在用joomla进行开发的时候,需要用到国外的资源,一些module,组件,插件之类的,但是我们会发现,在字符串这个方法都需要进行修改.因为PHP的substr方法只是针对于非中文字符串有效,所以要使用另外一种简便容易的方法mb_substr,这样就能轻松解决截取字符的问题. 同时如果需要针对中文,英文,中英文混合排列三种方式(标点符号除外)进行截取字符串,那么正则表达式就派上用场了,附上源码,仅供参考. /*

  • 在javascript中如何得到中英文混合字符串的长度

    有同事在公司的OA上发了个贴子,介绍在javascript中如何得到中英文混合字符串的长度. 用的是正则表达式. 复制代码 代码如下: var str = "坦克是tank的音译"; var len = str.match(/[^ -~]/g) == null ? str.length : str.length + str.match(/[^ -~]/g).length ; 我查了一下书,有点明白了: 西文常用字符集由空格" "(0x20)到"~"

  • 关于中gridview 字符串截取的方法

    首先在前台设置样式 复制代码 代码如下: <style  type="text/css">   .listover150  {  width:150px;  text-align:left;  overflow:hidden;  text-overflow:ellipsis;//超长设置省略号  white-space:nowrap;  }  </style> 然后在后台GridView中的RowDataBind中进行设置 ,附带几句可以改变鼠标移动的样式设置

  • php中文字符串截取多种方法汇总

    1. 截取GB2312中文字符串 <?php < ?php //截取中文字符串 function mysubstr($str, $start, $len) { $tmpstr = ""; $strlen = $start + $len; for($i = 0; $i < $strlen; $i++) { if(ord(substr($str, $i, 1)) > 0xa0) { $tmpstr .= substr($str, $i, 2); $i++; } el

  • Java截取中英文混合字符串的方法

    题目: 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串. 但是要保证汉字不被截半个,如"我ABC"4,应该截为"我AB",输入"我ABC汉DEF",6,应该输出为"我ABC"而不是"我ABC+汉的半个". GB2312.GBK.GB18030,CP936以及CNS11643都满足条件 -- 中文是占用2个字节的,英文是占用1一个字节 . 因为中文转换为byte字节,随着编码的不

随机推荐