.net区分中英文截取字符串
来源:互联网 发布:我们台湾这些年 知乎 编辑:程序博客网 时间:2024/05/21 16:55
/// <summary> /// 返回指定长度的字符(区分中英文) /// </summary> /// <param name="inputStr">要截取的字符</param> /// <param name="len">要保留的长度</param> /// <param name="IsAppendWord">是否附加内容</param> /// <param name="appendWord">如果IsAppendWord为真,则附加此内容</param> /// <returns></returns> private string GetTrimStrWithLenAndCn(string inputStr, int len,bool IsAppendWord,string appendWord ) { if (string.IsNullOrEmpty(inputStr)) return ""; bool istrim = false;//记录是否截断过 //先截取一次 if (inputStr.Length > len) { inputStr = inputStr.Substring(0, len); istrim = true; } //一个中文当两个字符 Regex regcn = new Regex(@"^[\u2E80-\u9FFF]+$"); int nlen = 0; int n = 0;//计算得出的长度 for (int i = 0; i < inputStr.Length && n<len; i++) { if (regcn.IsMatch(inputStr[i].ToString())) { n += 2; nlen += 1;//出现次数 } else { n += 1; } } //出现几次,截取长度应该减几 if (nlen > 0) { if (inputStr.Length + nlen > len) { inputStr = inputStr.Substring(0, len-nlen); istrim = true; } } if (istrim && IsAppendWord) { inputStr += appendWord; } return inputStr; }
JS方法:
/*#########区分中英文截取#########*//*#inputstr:要截取的字符##########*//*#length:要保留的长度#*//*#isAppend:是否附加内容#*//*#appendStr:要附加的内容#*/function TrimStrWithCnAndEn(inputstr, length, isAppend, appendStr) { if (inputstr == undefined || inputstr == "") { return ""; } var istrim = false;//是否截取过 if (inputstr.length > length) { inputstr = inputstr.substring(0, length); istrim = true; } var reg = /^[\u2E80-\u9FFF]+$/; var nlen = 0; var n = 0; //计算得出的长度 for (var i = 0; i < inputstr.length && n < length; i++) { var ss = inputstr.charAt(i); var b = reg.test(ss); if (b) { n += 2; nlen += 1;//出现次数 } else { n += 1; } } //出现几次,截取长度应该减几 if (nlen > 0) { if (inputstr.length + nlen > length) { inputstr = inputstr.substring(0, length - nlen); istrim = true; } } if (istrim && isAppend) { inputstr += appendStr; } return inputstr;}
- .net区分中英文截取字符串
- [转]asp.net区分中英文字符串截取
- Java区分中英文截取字符串
- jQuery截取字符串插件区分中英文:
- .NET 截取中英文混合的字符串。
- 中英文字符串截取
- 中英文截取字符串
- 截取中英文混合字符串
- JavaScript截取中英文字符串
- java截取中英文字符串
- 中英文字符串截取
- 截取中英文混合字符串
- 中英文混合字符串截取
- 截取中英文字符串长度
- 中英文混合字符串截取
- PHP截取中英文字符串
- lua 截取中英文字符串
- .NET 截取中英文混合的字符串。(增强版)
- 基于Socket的Android手机视频实时传输
- getSystemService
- php中 ini_set的用法
- eclipse 自动注释,加上author、日期等信息
- Ubuntu下面安装eclipse for c++
- .net区分中英文截取字符串
- 机会只留给有准备的人
- windows查看进程程序位置
- 节约编译时间的利器,多线程应用的典范 - Incredi build
- android ListView详解
- Android导入外部数据库解析json获取天气预报
- 中兴今年将推火狐手机减少对Android依赖(转)
- 配置Oracle RAC需要注意的问题
- 移动开发:iOS下ffmepg开发的一些参考资料汇总