注册 登录
编程论坛 VB6论坛

求字符串空值处理方法

wxflw 发布于 2012-11-30 16:46, 278 次点击
随机一个字符串:
askjkAKMK sad wedfsdfALKJ
需要将空值找出来并把空值改成“A”如“askjkAKMKAsadAwedfsdfALKJ
用什么方法?
我试过

 For i = 1 To Len(c) '计算循环次数,c就是一个字符串
       aa = Mid(c, i, 1) '取第一个字符循环依次往下
       If aa = "" Then
          c = StrReverse(Mid(StrReverse(c), i - 1, Len(c) - i)) & "A" & Mid(c, i + 1, Len(c) - i)
       End If
Next
可是结果没有变化,还是老样子

[ 本帖最后由 wxflw 于 2012-11-30 17:07 编辑 ]
1 回复
#2
风吹过b2012-11-30 21:28
你这里面的 空值是 " " ,双引号中间有一个空格的空值,不是空字符串。

你可以使用Replace函数来达到你的目的。

c=replace(c," ","A")

=========================================
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字符串的结尾处的一段子字符串已经发生过替换动作。并不是原字符串从头到尾的一个复制。
1