[
会员中心
] [
发布文章
][
发布软件
] [
中文繁體
]
文章
·
资料
电脑软件
手机软件
网站源码
电脑·手机·网络
学习
话题
娱乐
故事
文化·历史
国学典籍
法律法规
操作系统
网络
办公·文件
音频视频
图形图像
硬件·驱动程序
行业
教学学习
编程
游戏
安卓
苹果
鸿蒙
其他
ASP
ASP.NET
JSP
PHP
HTML
·
CSS
·
JavaScript
本 站 搜 索
文章
软件
[选项]
文章类别:
[全部]
电脑·手机·网络
话题
故事
文化·历史
娱乐
学习
法律·法规
国学典籍
搜索选项:
文章编号
文章标题
文章作者
文章来源
相关链接
关键字词
文章标签
文章内容
软件类别:
[全部]
操作系统
网络
办公·文件
音频视频
图形图像
行业
编程
教学学习
游戏
硬件·驱动程序
安卓系统
苹果系统
鸿蒙系统
其他系统
HTML·CSS·JavaScript
ASP
JSP
PHP
ASP.NET
搜索选项:
软件编号
软件名称
软件作者
软件来源
相关链接
关键字词
软件标签
软件简介
发 送 文 章
ASP 中英文混排字符串的截取函数
〖
评论()
〗〖
留言
〗〖
收藏
〗
收信地址
填写收信人的电子邮箱
邮件主题
填写邮件主题
邮件内容
以前遇到过类似的问题,但一直没有仔细剖析,昨天刚巧有朋友问到,就好好做了一下,先从网上找了相关函数,如下: '==============================================================='Strsub'函数功能:获取字符串长度(汉字长度为2).'参数意义:str ---- 字符串'===============================================================Function strlen(str) Dim p_len,xx p_len=0 strlen=0 If Trim(str)"" Then p_len=len(trim(str)) For xx=1 To p_len If asc(mid(str,xx,1))0 Then strlen=int(strlen) + 2 Else strlen=int(strlen) + 1 End If Next End IfEnd Function'==============================================================='Strsub'函数功能:字符串截取.'参数意义:str ---- 要截取的字符串. lennum---截取的字符数. s---结尾字符'===============================================================Function Strsub(str,lennum,s) If Not IsNull(str) Then Dim p_num,x Dim i If strlen(str)=lennum Then Strsub=str Else p_num=0 x=0 Do While Not p_num lennum-2 x=x+1 If Asc(Mid(str,x,1))0 Then p_num=Int(p_num) + 2 Else p_num=Int(p_num) + 1 End If Strsub=Left(Trim(str),x)s Loop End If Else Strsub="Null" End IfEnd Function测试过程中发现如下问题:1有截取的时候函数调用使用方法不清晰 ,指定长度同时指定后面显示的省略符号,使得长度控制不准确.2在部分中英混排情况下截取不准,不能得到可显示部分的最后一个英文字符.昨天研究过这些后有事情先闪,回家有心情看孩子的时候居然手写了两个函数,这张纸应该照下来,不过今天没带220,下午拍完补上,好久没有这么认真的想事情了.写的函数如下:'==============================================================='自定义函数名:mylen'函数功能:获取字符串长度(汉字长度为2).'参数意义:str ---- 字符串'===============================================================function mylen(str)mylen=0for x=1 to len(str) mylen=mylen+1 if asc(mid(str,x,1))0 then mylen=mylen+1nextend function'==============================================================='自定义函数名:myleftstr'函数功能:字符串截取.(处理汉字与英文数字混排)'参数意义:str ---- 要截取的字符串. mylenth---截取的字符数.'提示:这里自动将超长的后三个字符处理为...'===============================================================function myleftstr(str,mylength) myleftstr=strif mylen(str)mylength then mylength=mylength-3 for x=int(mylength/2) to mylength+1 if mylen(left(str,x))mylength then getlength=x-1:exit for next myleftstr=left(str,getlength)"..."end ifend function做了几组数据测试进行比较,设置为可显示10个字符的限制,对于函数使用Strsub(str,7,"...")方式调用,也许是没有细看函数的原因,可能还会有更细致的设置方法达到更好的效果.测试结果: 测试结果总结:对于全中文的字符串,如果超长可显示部分是奇数个的话,后面的半个无法显示这是肯定的,显示了也是不正常,经过处理,允许显示范围内的最后一个英文字符可以显示,还算正常。
文章网址:
https://dangbai.cn/Article.asp?ID=10002784
填写邮件内容
发信地址
填写发信人的电子邮箱
邮件签名
填写邮件签名
验证码
填写验证码,单击刷新验证码
程序执行中,请稍候...
发送协议
·欢迎使用本站在线文章发送系统。
·不得使用本站在线发送邮件系统发送垃圾邮件、广告邮件。
·如果收信人地址或其服务器出现错误,可能无法成功发送。
·如果有什么问题,或者意见建议,请联系[
网站管理员
]。
当百网
本站使用【啊估文章软件站】网站系统
〖
网站管理员留言簿
〗