那修改某个位置字符的话,有没有对应的函数呢
24 个解决方案
#1
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字符串的结尾处的一段子字符串已经发生过替换动作。并不是原字符串从头到尾的一个复制。
#2
没听说过,有吗?用的时候一行代码写一个就好了。
#3
上面已经有函数说明,我举个例子如下:
MyString = Replace("XXpXXPXXp", "p", "T", 1)
就是从第一个开始发现p全部替换为T,1 表示文本替换。
结果:MyString=XXTXXPXXT
这些已经能满足你的功能了。函数的描述查看VB的帮助文档
MyString = Replace("XXpXXPXXp", "p", "T", 1)
就是从第一个开始发现p全部替换为T,1 表示文本替换。
结果:MyString=XXTXXPXXT
这些已经能满足你的功能了。函数的描述查看VB的帮助文档
#4
Dim s$
s = "abcd"
Mid(s, 2, 2) = "xx"
MsgBox s
#5
LS正解,即是所谓的mid语句,而不是mid函数。
#6
Replace函数 ,mid语句都可以,复杂的--需要满足一定条件的替换是正则替换(使用正则表达式)
#7
今天才知道可以这样用mid的,基本功啊
#8
奇怪,这算什么用法?函数居然还可以放在赋值语句的左边???!
#9
看来这个"函数"的出场率比起这个"语句"的出场率低太多了啊.......
MSDN中的MID结果,先是这样:
Mid
Mid 关键字用于下列上下文:
Mid 函数
Mid 语句
然后分别的解释如下:
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的示例代码,请参阅示例主题中的第二个示例。
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 为替换的字节数。
这其实是两个看起来一模一样实际却是两个东西的东西.......
#10
学无止境啊
#11
原来这样啊。不过,就像变体一样,我决定不用这种用法:)
#12
这其实是两个看起来一模一样实际却是两个东西的东西.......
在VB中 比比皆是:
Input 函数;Input 语句;
Left函数;Left 属性;
Line 属性;Line 方法;
Time 语句;Time 函数;
Stop 方法;Stop 语句;
Set 方法 ;Set 语句
Print 方法;Print 语句;
…………
在VB中 比比皆是:
Input 函数;Input 语句;
Left函数;Left 属性;
Line 属性;Line 方法;
Time 语句;Time 函数;
Stop 方法;Stop 语句;
Set 方法 ;Set 语句
Print 方法;Print 语句;
…………
#13
你不会是想说:语句们其实都是函数,想不用都难吧?
#14
顶上去请老虎点评一下
#15
西西为什么就不用mid 语句?这可是VB中高效的语句啊....
#16
啊?
我觉得它好像看起来怪怪的,怕像变体一样带来各种潜在的BUG
我觉得它好像看起来怪怪的,怕像变体一样带来各种潜在的BUG
#17
放在左边是语句,不是函数!! MSDN上有MID函数和MID语句的说明.
#18
放心用吧,正规用法
循环拼接字符串,用MID比用字符串连接符效率高很多
#19
谢谢蚜虫。你们都还用过啥常用的与函数对应的语句啊?
#20
这不很好吗?
看起来像个属性,既可以取值也可以赋值,很容易记住。
我倒是希望 VB6 中这种函数/语法对多多益善。
看起来像个属性,既可以取值也可以赋值,很容易记住。
我倒是希望 VB6 中这种函数/语法对多多益善。
#21
不知道我说的对不对,好象按C的说法,用&拼接字符串,实际上每次都在重构string,所以效率很低。因此在要大量拼接字符串的时候,尽量会用数组和join。当然条件允许也可以先space(n)一个string再用mid语句替换,这样效率很高....
#22
我也觉得是这样
所以“大字符串 & (小字符串 & 小字符串)” 比 “大字符串 & 小字符串 & 小字符串” 要快
#23
不错的例子,哈哈,同样感觉用&拼接字符串,实际上每次都在重构string,所以效率很低
#24
这个正解!
#1
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字符串的结尾处的一段子字符串已经发生过替换动作。并不是原字符串从头到尾的一个复制。
#2
没听说过,有吗?用的时候一行代码写一个就好了。
#3
上面已经有函数说明,我举个例子如下:
MyString = Replace("XXpXXPXXp", "p", "T", 1)
就是从第一个开始发现p全部替换为T,1 表示文本替换。
结果:MyString=XXTXXPXXT
这些已经能满足你的功能了。函数的描述查看VB的帮助文档
MyString = Replace("XXpXXPXXp", "p", "T", 1)
就是从第一个开始发现p全部替换为T,1 表示文本替换。
结果:MyString=XXTXXPXXT
这些已经能满足你的功能了。函数的描述查看VB的帮助文档
#4
Dim s$
s = "abcd"
Mid(s, 2, 2) = "xx"
MsgBox s
#5
LS正解,即是所谓的mid语句,而不是mid函数。
#6
Replace函数 ,mid语句都可以,复杂的--需要满足一定条件的替换是正则替换(使用正则表达式)
#7
今天才知道可以这样用mid的,基本功啊
#8
奇怪,这算什么用法?函数居然还可以放在赋值语句的左边???!
#9
看来这个"函数"的出场率比起这个"语句"的出场率低太多了啊.......
MSDN中的MID结果,先是这样:
Mid
Mid 关键字用于下列上下文:
Mid 函数
Mid 语句
然后分别的解释如下:
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的示例代码,请参阅示例主题中的第二个示例。
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 为替换的字节数。
这其实是两个看起来一模一样实际却是两个东西的东西.......
#10
学无止境啊
#11
原来这样啊。不过,就像变体一样,我决定不用这种用法:)
#12
这其实是两个看起来一模一样实际却是两个东西的东西.......
在VB中 比比皆是:
Input 函数;Input 语句;
Left函数;Left 属性;
Line 属性;Line 方法;
Time 语句;Time 函数;
Stop 方法;Stop 语句;
Set 方法 ;Set 语句
Print 方法;Print 语句;
…………
在VB中 比比皆是:
Input 函数;Input 语句;
Left函数;Left 属性;
Line 属性;Line 方法;
Time 语句;Time 函数;
Stop 方法;Stop 语句;
Set 方法 ;Set 语句
Print 方法;Print 语句;
…………
#13
你不会是想说:语句们其实都是函数,想不用都难吧?
#14
顶上去请老虎点评一下
#15
西西为什么就不用mid 语句?这可是VB中高效的语句啊....
#16
啊?
我觉得它好像看起来怪怪的,怕像变体一样带来各种潜在的BUG
我觉得它好像看起来怪怪的,怕像变体一样带来各种潜在的BUG
#17
放在左边是语句,不是函数!! MSDN上有MID函数和MID语句的说明.
#18
放心用吧,正规用法
循环拼接字符串,用MID比用字符串连接符效率高很多
#19
谢谢蚜虫。你们都还用过啥常用的与函数对应的语句啊?
#20
这不很好吗?
看起来像个属性,既可以取值也可以赋值,很容易记住。
我倒是希望 VB6 中这种函数/语法对多多益善。
看起来像个属性,既可以取值也可以赋值,很容易记住。
我倒是希望 VB6 中这种函数/语法对多多益善。
#21
不知道我说的对不对,好象按C的说法,用&拼接字符串,实际上每次都在重构string,所以效率很低。因此在要大量拼接字符串的时候,尽量会用数组和join。当然条件允许也可以先space(n)一个string再用mid语句替换,这样效率很高....
#22
我也觉得是这样
所以“大字符串 & (小字符串 & 小字符串)” 比 “大字符串 & 小字符串 & 小字符串” 要快
#23
不错的例子,哈哈,同样感觉用&拼接字符串,实际上每次都在重构string,所以效率很低
#24
这个正解!