注册 登录
编程论坛 VB6论坛

急求助:VB如何删除字段中某个字符?

caoan 发布于 2015-03-28 16:45, 565 次点击
求助:各位老师,VB如何删除字段中某个字符?
如:392932201503170C4320308
    392946201503170C4324678
    392934440503170C4320386
    392944432150370C4308333
 

我要删除上面字段中字母C前面的0字符 ,怎样操作?十分感谢!

[ 本帖最后由 caoan 于 2015-3-28 16:53 编辑 ]
8 回复
#2
HVB62015-03-28 17:25
回复 楼主 caoan
Private Sub Command1_Click()
   Dim s1 As String, s2 As String, s3 As String, s4 As String, s
   s1 = "392932201503170C4320308"
    s2 = "392946201503170C4324678"
    s3 = "392934440503170C4320386"
    s4 = "392944432150370C4308333"
   s = Split(s1, "C")
   s1 = Mid(s(0), 1, Len(s(0)) - 1) & "C" & s(1)
    s = Split(s2, "C")
   s2 = Mid(s(0), 1, Len(s(0)) - 1) & "C" & s(1)
    s = Split(s3, "C")
   s3 = Mid(s(0), 1, Len(s(0)) - 1) & "C" & s(1)
    s = Split(s4, "C")
   s4 = Mid(s(0), 1, Len(s(0)) - 1) & "C" & s(1)
   MsgBox s1 & Chr(10) & s2 & Chr(10) & s3 & Chr(10) & s4
End Sub
#3
caoan2015-03-29 09:34
回复 2楼 HVB6
感谢老师的指导,我上面只是列举了需修改的四条记录,如果是几十条记录需修改呢,有没有简便的方法?谢谢!
#4
xzlxzlxzl2015-03-29 09:44
你原始数据在哪里?如果在文本文件里只需要逐行读取并处理,不超过10行代码即可完成,要处理多少数据都行。
dim a as string
a=replace(b,"0C","C")  '假设b是你要处理的,会全部将0C替换为C

[ 本帖最后由 xzlxzlxzl 于 2015-3-29 09:51 编辑 ]
#5
风吹过b2015-03-29 09:59
这种有唯一关键字的就可以使用字符串替换,如下面的命令
Print Replace("392932201503170C4320308", "0C", "C")

如果没有唯一关键字,而有固定位置,那就使用
Left 和 MID 命令组合。
如,本例中去掉第 15个字符,
Print Left("392932201503170C4320308", 14) & Mid("392932201503170C4320308", 16)

=========================
如果数据是放在文本文件中,并且是唯一关键字的情况,
按 4楼 xzlxzlxzl 版主说的,
不含数据定义,真是10行代码就可以搞定。
--------
打开旧文件
打开新文件
循环开始
读旧文件一行
处理
写新文件一行
循环结束
关闭旧文件
关闭新文件
删除旧文件
新文件重命令为旧文件
--------
#6
caoan2015-03-29 23:05
回复 3楼 caoan
不好意思,也许是我没有表达清楚,附件
只有本站会员才能查看附件,请 登录
是我需修改的文件,其中字段‘Htxh’中前六位带250006记录中有字母的前一位给删除,字母没有规律,但字母前一位是0,请教如何修改?
#7
xzlxzlxzl2015-03-30 09:29
统计了下,你就abcd四种类型,写四句replace就完了,无需太复杂算法。
a=replace(b,"0A","A")
a=replace(b,"0B","B")
a=replace(b,"0C","C")
a=replace(b,"0D","D")
#8
caoan2015-03-30 12:20
回复 7楼 xzlxzlxzl
谢谢各位老师,已经搞定,我用了以下语句:
replace all htxh with STRTRAN (htxh,'0B','B')
replace all htxh with STRTRAN (htxh,'0A','A')
replace all htxh with STRTRAN (htxh,'0C','C')
#9
xzlxzlxzl2015-03-30 14:40
嗯,不错,sql就可以搞定。
1