想把字符串中多余的逗号去掉,怎么做?

robertlau 2004-09-09 03:26:06
我是初学着,这个问题应该不难吧。
就是得到一个str, str将用在查询语句中,但是很奇怪str包含两个逗号,就是"编号,,姓名 ,,性别,,年龄,,籍贯"。
我想着用字符串数组,循环把逗号删除,但好象VB不允许str[i]或者str(i)。
据说split函数可以搞,但,得定义数组吧,
动态数组,定义为 dim a() as variant
a()=split(str,",,")
说是类型不匹配。
现在不知道该用什么招了,望指教
...全文
982 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
啊呀 2004-09-09
  • 打赏
  • 举报
回复
replace函数可以

另外,你应该查找为什么包含两个逗号,而不是把数据弄错了再改回去
truewill 2004-09-09
  • 打赏
  • 举报
回复
想使用类似字符串数组的话,就要使用mid$函数了
starsoulxp 2004-09-09
  • 打赏
  • 举报
回复
str=replace(str,",,",",")

描述
返回字符串,其中指定数目的某子字符串被替换为另一个子字符串。
语法
Replace(expression, find, replacewith[, compare[, count[, start]]])
Replace 函数的语法有以下参数:

参数 描述
expression 必选。 字符串表达式 包含要替代的子字符串。
find 必选。被搜索的子字符串。
replacewith 必选。用于替换的子字符串。
start 可选。expression 中开始搜索子字符串的位置。如果省略,默认值为 1。在和count 关联时必须用
count 可选。执行子字符串替换的数目。如果省略,默认值为 -1,表示进行所有可能的替换。在和 start 关联时必须用。
compare 可选。指示在计算子字符串时使用的比较类型的数值。有关数值,请参阅“设置”部分。如果省略,缺省值为 0 ,这意味着必须进行二进制比较。


设置
compare 参数可以有以下值:
常数 值 描述
vbBinaryCompare 0 执行二进制比较。
vbTextCompare 1 执行文本比较。


返回值
Replace 返回以下值:
如果 Replace 返回
expression 为零长度 零长度字符串 ("")。
expression 为 Null 错误。
find 为零长度 expression 的副本。
replacewith 为零长度 expression 的副本,其中删除了所有由 find 参数指定的内容。
start > Len(expression) 零长度字符串。
count 为 0 expression 的副本。


说明
Replace 函数的返回值是经过替换(从由 start 指定的位置开始到 expression 字符串的结尾)后的字符串,而不是原始字符串从开始至结尾的副本。
下面的示例利用 Replace 函数返回字符串:

Dim MyString

MyString = Replace("XXpXXPXXp", "p", "Y") '二进制比较从字符串左端开始。返回 "XXYXXPXXY"。
MyString = Replace("XXpXXPXXp", "p", "Y", '文本比较从第三个字符开始。返回 "YXXYXXY"。3,, -1, 1)

hjcy_2002 2004-09-09
  • 打赏
  • 举报
回复
str = replace(str, ",,", ",")
lshuzhou696 2004-09-09
  • 打赏
  • 举报
回复
Text2.Text = Replace("编号,,姓名 ,,性别,,年龄,,籍贯", ",,", ",")就等于
text2.text=编号,姓名 ,性别,年龄,籍贯
Hideal 2004-09-09
  • 打赏
  • 举报
回复
str=replace(str,"'","")

7,788

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧