asp测字符串长度及截取定长字符串汉字的处理
来源:asp之家 发布时间:2007-10-12 13:14:00
标签:字符串,长度,检测
asp编程中我们经常要处理字符串,比如一个新闻列表,在我们编写asp程序的时候就要考虑到新闻标题的长度不确定性,因为有的文章标题可能很长,可能20或30个字符;而有的标题可能又很短。还有的新闻标题是英文字母或数字,有的都是汉字,或者英文字母和汉字混合。可问题是英文字母或数字的长度和汉字的长度不一致,一个汉字相当于2个字母的长度。这样如果我们对标题不加限制的话,很可能影响到网页的布局,这样页面美观性就差了,当然如果美工考虑周到的话使用CSS可以很方便的处理这个问题。
现在我们讲的是asp程序上如何处理这个问题,我们知道asp中的left函数可以截取一个字符串的左边算起的第几个字符,如一个字符串是:asp之家,请看下面的代码:
str="asp之家"
str=left(str,5)
response.write str
如果运行上面的asp代码则屏幕上显示的是:中国asp
这里left后面的数字为5就截取了5个字符,一个汉字算一个字符。当某字符串都是字母时很显然截取的长度与都是汉字截取的长度差很多。为了解决这个问题,我们就需要来处理汉字,当遇到的字符是汉字的时候,就算两个长度单位。这样就很好的解决了显示长度不同的问题了.
1.测字符串长度, 汉字算两个长度单位
'代码作者不详
Function CheckStringLength(txt)
txt=trim(txt)
x = len(txt)
y = 0
for ii = 1 to x
if asc(mid(txt,ii,1)) < 0 or asc(mid(txt,ii,1)) >255 then ’如果是汉字
y = y + 2
else
y = y + 1
end if
next
CheckStringLength = y
End Function
运行下面的代码:
response.write CheckStringLength("asp之家")
屏幕将显示:11
2.截取指定长度的字符串(包括汉字)
'代码作者不详
function InterceptString(txt,length)
txt=trim(txt)
x = len(txt)
y = 0
if x >= 1 then
for ii = 1 to x
if asc(mid(txt,ii,1)) < 0 or asc(mid(txt,ii,1)) >255 then ’如果是汉字
y = y + 2
else
y = y + 1
end if
if y >= length then
txt = left(trim(txt),ii) ’字符串限长
exit for
end if
next
InterceptString = txt
else
InterceptString = ""
end if
End Function
运行下面的代码:
response.write InterceptString("asp之家",5)
屏幕将显示:中国a


猜你喜欢
- function map(a,f){f(a);} function getRand(a,b) {  
- 1、先放个大招:去除字符串中所有的空格和tab换行符str=" a b c de f "pri
- python安装库时,有时候会报错windows error 5,可以尝试关闭所有使用python的编辑器、文件等,然后重新pip安装,如果
- 1.sp_helpsort SELECT SERVERPROPERTY ('Collation') 查看你的排序规则. 不过
- Matplotlib介绍Matplotlib 是一款用于数据可视化的 Python 软件包,支持跨平台运行,它能够根据 NumPy 
- 前言数据集下载地址:链接: https://pan.baidu.com/s/17aglKyKFvMvcug0xrOqJdQ?pwd=6i7m
- 代码如下:SELECT * FROM Orders WHERE OrderGUID IN('BC71D821-9E25-
- 本文介绍了从golang语言中fmt包从标准输入获取数据的Scan系列函数、从io.Reader中获取数据的Fscan系列函数以及从字符串中
- 下载小姐姐图片并保存请求的地址伪装定位元素下载图片保存好了下面开始我们的实战,这个是我们今天访问的url:url = 'http:/
- TF(Term Frequency)词频,在文章中出现次数最多的词,然而文章中出现次数较多的词并不一定就是关键词,比如常见的对文章本身并没有
- 继续Mootools常用方法扩展,依然还是String类的扩展。方法:unescapseHTML说明:这个上次忘了,和escapseHTML
- 开发过程中总避免不了遇到恶心的乱码,或者由乱码引发的一系列问题。出现乱码是字符集的原因一般而言和逻辑没有太大关系,也就是说整个系统大的方向没
- 代码如下:<% Rem xml缓存类 '----------------------------
- 1. 不要让用户先注册再去选商品。顾客们是来买东西的,不是来填表单的。所以需要确保用户在付款过程中完成了注册,而不是付款前就去注册,也不是让
- 一般我们安装Python的第三方包都会在终端执行下列命令进行安装:pip install 要安装的包名安装成功后发现在PyCharm中仍然存
- 本文实例讲述了Python面向对象之接口、抽象类与多态。分享给大家供大家参考,具体如下:接口类继承有两种用途:一:继承基类的方法,并且做出自
- django是python语言快速实现web服务的大杀器,其开发效率可以非常的高!但因为秉承了语言的灵活性,django框架又太灵活,以至于
- 简单版本学生信息管理系统,用python基础语法实现,基于python 3.6容错率很高的代码,做了很多异常处理功能,出错也不会丢失信息启动
- 原始两张图片:代码运行结果如下。5种算法值哈希算法、差值哈希算法和感知哈希算法都是值越小,相似度越高,取值为0-64,即汉明距离中,64位的
- 这篇文章主要介绍了简单了解Python3 bytes和str类型的区别和联系,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的