很早以前写过一篇文章(用C#截取指定长度的中英文混合字符串),但是对性能没有测试,有人说我写的这个方法性能有问题,后来想,可能真会有BT之需求要求传入一个几万K甚至几M体积的字符串进来,那将会影响正则Match的速度,比如文章系统中就极有可能用到,今天有点时间,就改进了一下,代码如下: public static string getStr(string s,int l,string endStr) { , (s.Length < l)?s.Length:l); if (Regex.Replac…
参考博客:UTF8字符串在lua的截取和字数统计[转载] 需求 按字面个数来截取子字符串 函数(字符串, 开始位置, 截取长度) utf8sub(,) = 好1世界哈 utf8sub(,) = 你好1世界 utf8sub(,) = 你好世界1 utf8sub(,) = utf8sub(,) = pø你好p 错误方法 网上找了一些算法, 都不太正确; 要么就是乱码, 要么就是只考虑了4 byte 中文的情况, 不够全面 1. string.sub(s,1,截取长度*4) 网上很多直接使用"`&qu…
trim() trim() 函数移除字符串两侧的空白字符或其他预定义字符. <?php $str = "Hello World!"; echo $str . "<br>"; echo trim($str,"Hed!"); ?> 移除字符串两侧的字符("Hello" 中的 "He" 以及 "World" 中的 "d!"): trim($check…
平时在作数据库插入操作时,如果用 INSERT 语句向一个varchar型字段插入内容时,有时会因为插入的内容长度超出规定的长度而报错. 尤其是插入中英文混合字符串时,SQL Server中一般中文要占两个字节,所以对混合型的字符串就要作一个处理,统一按字节长度来计算字符串长度,方法如下: C#方法一: public static string GetString(string str, int len) { string result = string.Empty;// 最终返回的结果 int…
//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 = …
1.字符串长度 PHP获取中英文混合字符串长度的实现代码如下,1中文=1位,2英文=1位,可自行修改 /** * PHP获取字符串中英文混合长度 * @param $str string 字符串 * @param $$charset string 编码 * @return 返回长度,1中文=1位,2英文=1位 */ function strLength($str,$charset='utf-8'){ if($charset=='utf-8') $str = iconv('utf-8','gb23…
<!doctype html> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>CSS截取中英文混合字符串长度</title> <meta name="keywords" content="" /> <me…
由于需要,想实现“php截取等长UFT8中英文混合字串”,可是网上找了很多代码不是有乱码就是不能实现等长(以一个中文长度为单位,两个英文字母算一个长度,如‘等长’长度为2,‘UTF8’长度也是2). 由于utf8编码时,中文为三个字节,英文为一个字节,用substr就会出现乱码,用mb_substr会出现上面的不等长问题,但不会有乱码: 我以字节为单位进行操作,简单实现了一个小程序. 只能在utf8编码是使用. /*utf8编码时截取等长中英文字串*/ //英文标点[.,\"\\?!:_'] &…
public class StringHelper     {         public static string GetSubString(string str, int len)         {             string result = string.Empty;// 最终返回的结果             int byteLen = System.Text.Encoding.Default.GetByteCount(str);// 单字节字符长度          …
/// <summary>        /// c#的中英文混合字符串截取(区分中英文)        /// </summary>        /// <param name="inputString"></param>        /// <param name="byteLength">要输出的字节长度</param>        /// <returns></r…