问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

vbs中分隔字符串的函数

发布网友 发布时间:2022-05-03 11:07

我来回答

3个回答

热心网友 时间:2022-04-24 06:15

x="abc 0 cde 0 kkk"
s=split(x,"0")
msgbox s(1)

分隔符SPLIT 的用法

描述
返回基于 0 的一维数组,其中包含指定数目的子字符串。
语法
Split(expression[, delimiter[, count[, start]]])
Split 函数的语法有以下参数:

参数 描述
expression 必选。字符串表达式,包含子字符串和分隔符。如果 expression 为零长度字符串,Split 返回空数组,即不包含元素和数据的数组。
delimiter 可选。用于标识子字符串界限的字符。如果省略,使用空格 ("") 作为分隔符。如果 delimiter 为零长度字符串,则返回包含整个 expression 字符串的单元素数组。
count 可选。被返回的子字符串数目,-1 指示返回所有子字符串。
compare 可选。指示在计算子字符串时使用的比较类型的数值。有关数值,请参阅“设置”部分。

设置
compare 参数可以有以下值:
常数 值 描述
vbBinaryCompare 0 执行二进制比较。
vbTextCompare 1 执行文本比较。
vbDatabaseCompare 2 执行基于数据库(在此数据库中执行比较)中包含的信息的比较。

———————————————————————————————————————————
一个关于Split函数在ASP中使用方法的案例:
———————————————————————————————————————————

大家有碰到过要想取一字符串里的某些值而无从下手?有没有觉得看书或教材对split的写法糊里糊涂……如果有此疑问的话,请看下面我对例子的解释,相信您会对这个有一定的了解。

我先介绍一下Split函数的用法:

返回值数组 = Split("字符串","分割符")

假设变量strURL保存着URL值,如strURL = "ftp://username:password@server";,这是我们在IE中登录到FTP上时的URL形式,如果我们想把其中的username和password取出来的话,该怎么办呢?当然解决的方法有许多,在这里我们只介绍用Split来解决的方法。首先,我们找出分割符。我们发现在这个字符串中,username和password之间有个冒号把它们隔开了,所以我们就把这个冒号作为Split函数的"分割符"来分割整个字符串,最后达到取username和password的目的。代码如下:

strURL = "ftp://username:password@server"
aryReturn = Split(strURL,":")

这样我们就把字符串用冒号分割开了,分割后的结果保存在aryReturn中(aryReturn是一个数组)。

下面我们就来看看这个最终的结果吧,因为Split函数最终返回的是一个数组,所以我们主要就是显示数组中的元素了,就要涉及到一些跟数组有关的函数:IsArray()判断是否数组的函数,LBound()取数组的下标,UBound()取数组的上标。

Response.Write("返回值是否为数组:" & IsArray(aryReturn) & "<br>")
For i = LBound(aryReturn) To UBound(aryReturn)
Response.Write("返回值数组中的元素[" & i & "]:" & Right(aryReturn(i),Len(aryReturn(i))-2) & "<br>")
Next

通过上面的代码,我们看到字符串被分割成三个部分,即:"ftp"、"//username"、"password@server"。我们要取username和password需要进一步的处理,我就不多说了,直接给出代码。
取username的代码:

strUsername = Right(aryReturn(1),Len(aryReturn(1))-2)

取password的代码:

'取password我们又用到Split函数了,不过这回的分割符是"@"
aryTemp = Split(aryReturn(2),"@")
strPassword = aryTemp(0)
'我们可以顺便取出server
strServer = aryTemp(1)

分割符可以是一个字符,也可以是一个字符串。如:

aryReturn = Split("ftp://username:password@server,"//")

注意:
1.一般来说,ASP中可以不声明变量,使用Split函数时,如果要声明返回值的变量的话,只能用Dim,而不能用Redim。虽然说其返回是一个数组,应该是用Redim也可以,但在实际使用过程中是不行。不知是怎么回事?
2. 如果用Split函数来分割一个字符串中并不存在的分割符时,将返回整个字符串,其结果是只有一个元素的数组。

后话,对于要取一字符串中的某些字符或部分,只要抓住规律,再加上用split就可以很好做成各种效果。

名称:split
使用权限:所有使用者
使用方式:split [OPTION] [INPUT [PREFIX]]
说明:
将一个档案分割成数个。而从 INPUT 分割输出成固定大小的档案,其档名依序为 PREFIXaa, PREFIXab...;PREFIX 预设值为 `x。若没有 INPUT 档或为 `-,则从标准输入读进资料。
匡兜�
-b, --bytes=SIZE
SIZE 值为每一输出档案的大小,单位为 byte。
-C, --line-bytes=SIZE
每一输出档中,单行的最大 byte 数。
-l, --lines=NUMBER
NUMBER 值为每一输出档的列数大小。
-NUMBER
与 -l NUMBER 相同。
--verbose
于每个输出档被开启前,列印出侦错资讯到标准错误输出。
--help
显示辅助资讯然后离开。
--version
列出版本资讯然后离开。
SIZE 可加入单位: b 代表 512, k 代表 1K, m 代表 1 Meg。
范例:
PostgresSQL 大型资料库备份与回存:
因 Postgres 允许表格大过你系统档案的最大容量,所以要将表格 mp 到单一的档案可能会有问题,使用 split进行档案分割。

% pg_mp dbname | split -b 1m - filename.mp.

重新载入

% createdb dbname
% cat filename.mp.* | pgsql dbname

热心网友 时间:2022-04-24 07:33

x="abc 0 cde 0 kkk"
s=split(x," ")
msgbox s(1)

热心网友 时间:2022-04-24 09:07

x="abc 0 cde 0 kkk"
s=split(x," ")
msgbox s(1)
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
单位高温防护欠缺致员工中暑如何对待 狗狗为什么爱看视频 360浏览器怎么设置倍速播放 ...先讲女主的灵魂飘荡了一段时间,然后重生,请问是那本? 拯救者散热器怎么开 电脑如何一键还原系统电脑一键还原怎么操作 神舟笔记本电脑怎么重新设置神舟战神bios恢复出厂设置 神舟电脑恢复出厂设置神舟战神怎么恢复原厂系统 水泥楼梯如何铺木楼梯 家里面楼梯是水泥的不想铺地毯或者地砖还能铺什么 vbs如何接收键盘输入然后一字符串写入另一个文本中 vbs中的这条语句Str=Str&N&&quot;,&quot;什么意思 vbs脚本实现在某指定字符串的头尾添加上英文的双引号该如何做? 【VBScript】字符串相加 vbs 按格式生成字符串 vbs如何在字符串里插入字符 东方航空321机型多少座 VBS中的连接符号 “ & ” 大侠们请进! VBS字符串问题 空客321公务舱座椅可以平躺吗 空客321的头等舱可躺吗 vbs中怎么把循环计数中的每个输出字符链接起来在输出 vbscript中 中的字符串和函数如何连接, 中国国航CA1622空客321(中)每排座位数是几个? VB中如何把多个字符串组合到一起? vbs加法怎么写 我想实现a+b 怎么结果是a和b连起来的结果 注:不要用取绝对值的方法 关于vbs中变量与字符串连接符号的问题求大神帮助 请问南航321机型,不被机翼挡住的是哪些座位 VBS的定义字符串 及字符串连接请教!! vbs字符串拼接问题 VBS输出语句,输出字符串 vbs 如何输出字符串 VBS问题 怎样把字符串拆分成单个字符放入数组 空客A321头等舱座位能放平躺下吗? 南航320机型座位分布 三十二周是几个月啊 32周+4天是几个月啊 三十二周加三天是几个月了?拜托各位大神 用字左上角加一撇什么字? 用法的用。左上角有一撇。是什么字?? 请问宝妈们都怎么算的月份!我32周加6是八个月零六天么!怎么有的宝妈算的是七个半月呢!到底是按28 用字左上角加一撇念什么,一个地名,江苏昆山市X直镇,X就是那个字 32周 几个月 末次月经3.14 预产期12.21 我现在到底几个月啊 有时候就糊涂了 用字左上角加一撇字为何变成角字 32周几月几日 正字左上角加一撇念什么 35周代表几个月 熙左上角多一撇念什么 语音学里面左上角一撇是什么意思 田字左上角加一撇是何字?