注册 登录
编程论坛 VB6论坛

问题!获取文本中每行的最后一个数。

wangizchao 发布于 2018-12-14 19:31, 1382 次点击
想获取文本中每行用“!”分开的最后一组数。
写了行代码但是只能获取每行最多出现一个“!”分开的字符
有什么办法 可以多个“!”还能获取到最后到字符?
只有本站会员才能查看附件,请 登录

感谢各位 !我自己解决了
Private Sub Command1_Click()
a = Split(Text1.Text, vbCrLf)
Text2.Text = ""
For i = 0 To UBound(a)
b = Split(a(i), "!")
c = Val(UBound(b))
Text2.Text = Text2.Text & b(c) & vbCrLf
Next
End Sub


[此贴子已经被作者于2018-12-15 01:21编辑过]

4 回复
#2
wds12018-12-14 19:52
假设text2.text="1!2!3",那么text1.text=3
Private Sub Command1_Click()
  a=split(text2.text,"!")
  text1.text=a(ubound(a))
End Sub

[此贴子已经被作者于2018-12-14 19:55编辑过]

#3
风吹过b2018-12-14 21:03
这样处理的话,分解前加一行代码防错。
if right(text2.text,1)="!" then  text2.text=left(text2.text,len(text2.text)-1)
负责把确保 1!2!3! 这样的数据能得到 3,而不是得到一个 0

另外
text1.text=a(ubound(a))
建议加个 val 函数处理一下,变成
text1.text=val(a(ubound(a)))
确保 1!2!3a 这种数据得到一个 3,而不是得到 3a 。
当然 1!2!a3 这种数据这样处理会得到0,不处理会得到a3 。
#4
wangizchao2018-12-14 21:40
回复 2楼 wds1
这样 第二行如何去判断?
1!2!3
1!2
如果存在多行就不能获取每行的最后一组数
#5
wds12018-12-15 08:53
Private Sub Command1_Click()
 dim b
 a=split(text2.text,vbcrlf)
 redim b (ubound(a))
 for i=0 to ubound(a)
   temp=split(a(i),"!")
   b(i)=temp(ubound(temp))'每行的最后一个保存在b数组
 next i
End Sub

[此贴子已经被作者于2018-12-15 08:57编辑过]

1