vb中怎么批量替换特定的字符串?
比如吧,有个文本,内容如下:1234abcdefg1234asdfghj1234adferte5678dffesrew请问怎么才能把文本中的所有的1234换成5678呢?...
比如吧,有个文本,内容如下:
1234 abcdefg
1234 asdfghj
1234 adferte
5678 dffesrew
请问怎么才能把文本中的所有的1234换成5678呢?
谢谢。 展开
1234 abcdefg
1234 asdfghj
1234 adferte
5678 dffesrew
请问怎么才能把文本中的所有的1234换成5678呢?
谢谢。 展开
展开全部
数据类型就是上面的样子,也就是一对一对出现,中间用空格分开,每行都是这样,就简单。而且1234总是在前面。
假如数据结构不是这样的话,方法也会变化的。
请明示
张志晨
Dim txtName As String
Function getFileName(dlg As Object) As String
'添加 commondialog1
'添加 file1, 可设为不可见 也就是只当作数组
On Error GoTo err
With dlg
.DialogTitle = "请指定文件夹"
.Filter = "文本文件(*.txt)|*.txt"
.ShowOpen
getFileName = .FileName
End With
Exit Function
err:
MsgBox "您没有选择文件或者文件夹中没有txt文件"
End Function
'写
Sub wirteTxt(namePath As String, txt As String)
Open namePath For Output As #1
Print #1, txt
Close #1
End Sub
'读
Function lineRead(namePath As String) As String
'多行数据
Dim strLine As String
Dim strBox As String
Open namePath For Input As #1
Do Until EOF(1)
Line Input #1, strLine
strBox = strBox + strLine + vbCrLf
Loop
Text1(0).Text = strBox
Text1(1).Text = Replace(strBox, "1234", "5678")
Close #1
End Function
Private Sub Command1_Click()
txtName = getFileName(CommonDialog1)
lineRead txtName
End Sub
Private Sub File1_Click() '这只是修改一个文件,你可以用循环修改文件夹下所有的txt文件
lineRead File1.List(ListIndex)
wirteTxt txtName, Text1(1).Text
End Sub
假如数据结构不是这样的话,方法也会变化的。
请明示
张志晨
Dim txtName As String
Function getFileName(dlg As Object) As String
'添加 commondialog1
'添加 file1, 可设为不可见 也就是只当作数组
On Error GoTo err
With dlg
.DialogTitle = "请指定文件夹"
.Filter = "文本文件(*.txt)|*.txt"
.ShowOpen
getFileName = .FileName
End With
Exit Function
err:
MsgBox "您没有选择文件或者文件夹中没有txt文件"
End Function
'写
Sub wirteTxt(namePath As String, txt As String)
Open namePath For Output As #1
Print #1, txt
Close #1
End Sub
'读
Function lineRead(namePath As String) As String
'多行数据
Dim strLine As String
Dim strBox As String
Open namePath For Input As #1
Do Until EOF(1)
Line Input #1, strLine
strBox = strBox + strLine + vbCrLf
Loop
Text1(0).Text = strBox
Text1(1).Text = Replace(strBox, "1234", "5678")
Close #1
End Function
Private Sub Command1_Click()
txtName = getFileName(CommonDialog1)
lineRead txtName
End Sub
Private Sub File1_Click() '这只是修改一个文件,你可以用循环修改文件夹下所有的txt文件
lineRead File1.List(ListIndex)
wirteTxt txtName, Text1(1).Text
End Sub
更多追问追答
追问
数据就是系统的Hosts文件,它们的确是一对一对出现的,但分隔符可能是1-4个空格或者是tab,不过前面是一个IP地址,后面是一个域名。不过我这边的代码会全部替换成一个空格,这个就不必考虑了。
展开全部
读取全部内容放在a里
a=replace(a,"1234","5678")
a=replace(a,"1234","5678")
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-11-06
展开全部
其实还是使用VB自带的RichTextBox控件来的比较简单
随便加到Load事件或者按钮事件还是哪里
With RichTextBox
.FileName = 文件名
.Text = Replace(.Text, "1234", "5678")
.SaveFile 文件名 , rtfText
End With
随便加到Load事件或者按钮事件还是哪里
With RichTextBox
.FileName = 文件名
.Text = Replace(.Text, "1234", "5678")
.SaveFile 文件名 , rtfText
End With
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
数据类型就是上面的样子,也就是一对一对出现,中间用空格分开,每行都是这样,就简单。而且1234总是在前面。
假如数据结构不是这样的话,方法也会变化的。
假如数据结构不是这样的话,方法也会变化的。
追问
把您的ctrl、c、v三个键做成钛合金的吧,免得弄坏了。
追答
做任务- -
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
下载txt切割工具,很多都带这个功能!求分
追问
用工具的话我就不用在这里问了,现在要的是能做这个操作的vb代码。。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询