请问在 VB 里,是否可以一个字节一个字节地处理字符串。

ervine 2003-01-02 01:52:52
各位高手,`

请问在 VB 里,是否可以一个字节一个字节地处理字符串。

例如:
Dim strTemp as string
strTemp = "123"
Dim i as long
for i = 0 to len(strTemp)-1
if strTemp(i) = "2" then
strTemp(i) = "z"
end if
next i

是否可以对一个字符串进行字节操作。

谢谢,


...全文
69 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
zyl910 2003-01-02

Mid 语句


在一 Variant (String) 变量中以另一个字符串中的字符替换其中指定数量的字符。

语法

Mid(stringvar, start[, length]) = string

Mid 语句的语法具有下面几个部分:

部分 描述
stringvar 必要参数。被更改的字符串变量名。
start 必要参数;Variant (Long)。stringvar 中被替换的字符开头位置。
length 可选参数;Variant (Long)。被替换的字符数。如果省略,string将全部用上。
string 必要参数。字符串表达式,替换部分 stringvar 的字符串。


说明

被替换的字符数量总是小于或等于 stringvar 的字符数。

注意 MidB 语句作用于包含在字符串中的字节数据。在 MidB 语句中,start 指定 stringvar 中被替换的字节开头位置,而 length 为替换的字节数。
回复
zyl910 2003-01-02

Mid 函数


返回 Variant (String),其中包含字符串中指定数量的字符。

语法

Mid(string, start[, length])

Mid 函数的语法具有下面的命名参数:

部分 说明
string 必要参数。字符串表达式,从中返回字符。如果 string 包含 Null,将返回 Null。
start 必要参数。为 Long。string 中被取出部分的字符位置。如果 start 超过 string 的字符数,Mid 返回零长度字符串 ("")。
length 可选参数;为 Variant (Long)。要返回的字符数。如果省略或 length 超过文本的字符数(包括 start 处的字符),将返回字符串中从 start 到尾端的所有字符。


说明

欲知 string 的字符数,可用 Len 函数。

注意 MidB 函数作用于字符串中包含的字节数据,如同在双字节字符集(DBCS)语言中一样。因此其参数指定的是字节数,而不是字符数。对于使用 MidB的示例代码,请参阅示例主题中的第二个示例。
回复
zyl910 2003-01-02
Dim strTemp as string
strTemp = "123"
Dim i as long
for i = 1 to len(strTemp)
if "2" = Mid(strTemp,i,1) then
Mid(strTemp,i,1) = "z"
end if
next i
回复
of123 2003-01-02
Dim strTemp as string
strTemp = "123"
Dim i as long
for i = 1 to len(strTemp)
if mid(strTemp,i,1) = "2" then
strTemp = left(strTemp, i-1) & "z" & mid(strTemp,i+1)
end if
next i

或者:
strTemp = "123"
strTemp = replace(strTemp, "2", "z")
回复
XLYT 2003-01-02
如果想替换字符:

Replace函数


描述

返回一个字符串,该字符串中指定的子字符串已被替换成另一子字符串,并且替换发生的次数也是指定的。

语法

Replace(expression, find, replacewith[, start[, count[, compare]]])

Replace函数语法有如下几部分:

部分 描述
expression 必需的。字符串表达式,包含要替换的子字符串。
find 必需的。要搜索到的子字符串。
replacewith 必需的。用来替换的子字符串。
start 可选的。在表达式中子字符串搜索的开始位置。如果忽略,假定从1开始。
count 可选的。子字符串进行替换的次数。如果忽略,缺省值是 –1,它表明进行所有可能的替换。
compare 可选的。数字值,表示判别子字符串时所用的比较方式。关于其值,请参阅“设置值”部分。


设置值

compare参数的设置值如下:

常数 值 描述
vbUseCompareOption –1 使用Option Compare语句的设置值来执行比较。
vbBinaryCompare 0 执行二进制比较。
vbTextCompare 1 执行文字比较。
vbDatabaseCompare 2 仅用于Microsoft Access。基于您的数据库的信息执行比较。


返回值

Replace的返回值如下:

如果 Replace返回值
expression长度为零 零长度字符串("")。
expression为Null 一个错误。
find长度为零 expression的复本。
replacewith长度为零 expression的复本,其中删除了所有出现的find 的字符串。
start > Len(expression) 长度为零的字符串。
count is 0 expression.的复本。


说明

Replace函数的返回值是一个字符串,但是,其中从start所指定的位置开始,到expression字符串的结尾处的一段子字符串已经发生过替换动作。并不是原字符串从头到尾的一个复制。
回复
lijunfeng 2003-01-02
是一个字符还是一个字节?
字符的话就用 mid$(strtemp,i,1) 来取每个字符 注意:i要从1开始.
回复
发动态
发帖子
VB基础类
创建于2007-09-28

7453

社区成员

VB 基础类
申请成为版主
社区公告
暂无公告