VB 替换字符与处理问题.

来源:百度知道 编辑:UC知道 时间:2024/07/04 13:11:19
192.168.58.60:135
192.168.58.50:135
192.168.58.40:135
192.168.58.30:135
192.168.58.20:135
192.168.58.10:135
如何将字符串中的:135去掉?也就是说如何将:包括:后面的东西去掉呢?

我是这样实现的,

TextZL = ""
Dim q As Integer, w As String, e() As String
e() = Split(IP_JieGuo, vbCrLf)
For q = 0 To UBound(e)
w = e(q)
If w = "" Then
Exit For
Else

r = Left(w, InStrRev(w, ":")) + vbCrLf

r = Replace(r, ":", "")

TextZL = TextZL + r
IP_JieGuo = TextZL

End If
Next q

但结果是点一次,确实是实现了去掉:135了,但在点一次就都变回车了...
TextZL = "" 我觉得不是这个原因,因为我是用两个TEXT来实现的,我知道我的代码很垃圾,如果有高手会的请告诉下小弟了,先谢谢了..

还有个问题,就是处理数据的,

有一个文本文件里有着这样的内容..

-------------------------------------------------------------------------------
Performing Time: 8/26/2007 4:5:23 --> Normal Scan: About To Scan 65536 IP Using 512 Threads
LastIP

用正则啊,专门处理这类问题的,不用自己闭门造车,在工程里选引用,然后添加Microsoft VBscript Regular Expression 5.5。拉2个text在窗体上,text1填文本一的路径,就是这个文件:

192.168.58.60:135
192.168.58.50:135
192.168.58.40:135
192.168.58.30:135
192.168.58.20:135
192.168.58.10:135

text2填文本2的路径,就是你下面说的那个txt,再拉一个按钮,加入以下代码:

Private Sub Command1_Click()
On Error GoTo Error_Handler

Dim isOpen1, isOpen2 As Boolean

Open Text1.Text For Input As #1
isOpen1 = True

Dim all$
all = Input(LOF(1), 1)
MsgBox all '读入

Dim oRegExp As New RegExp
oRegExp.Pattern = _
"((?:[01]?\d\d?|2[0-4]\d|25[0-5])\.(?:[01]?\d\d?|2[0-4]\d|25[0-5])\." & _
"(?:[01]?\d\d?|2[0-4]\d|25[0-5])\.(?:[01]?\d\d?|2[0-4]\d|25[0-5])):\d+"

oRegExp.Global = True
all = oRegExp.Replace(all, "$1") '替换

MsgBox all '结果

Open Te