重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这是VB在读多行文件时出现的问题,最后行多了换行字符。
呼中网站建设公司创新互联,呼中网站设计制作,有大型网站制作公司丰富经验。已为呼中上千余家提供企业网站建设服务。企业网站搭建\外贸网站制作要多少钱,请找那个售后服务好的呼中做网站的公司定做!
可以用Left 函数来取去察销除最后换行字符的文本。
Left 函数
返回 Variant
(String),其中包含字符串中从左边算起指定数量的字符。
Len 函数
返回 Long,其中包含字符串内字符的数目。
Option Explicit
Dim s As String
Dim i As Long
Dim fname As String
Dim strWj As String
Private Sub Command1_Click()
' 设置“CancelError”为 True
CommonDialog1.CancelError = True
On Error GoTo ErrHandler
' 设置标志
CommonDialog1.Flags = cdlOFNHideReadOnly
' 设置过滤器
CommonDialog1.Filter = "All Files (*.*)|*.*|Text Files" _
"(*.txt)|*.txt|Batch Files (*.bat)|*.bat"
' 指定缺省的过滤器
CommonDialog1.FilterIndex = 2
' 显示“打开”对话框
CommonDialog1.ShowOpen
' 显示选定文件的名字
'MsgBox CommonDialog1.FileName
Open CommonDialog1.FileName For Input As #1
Do Until EOF(1)
Line Input #1, s
巧悉 strWj = strWj s vbCrLf
i = i + 1
孝没乎 Loop
Text3 = i
Close #1
Text1 = Left(strWj, Len(strWj) - 2) '去除读入文本多余的换行符。
Debug.Print Len(strWj)
Debug.Print Len(Text1)
Exit Sub
ErrHandler:
' 用户按了“取消”按钮
Exit Sub
End Sub
呵呵给你个好玩的思路..别人的程序都用了循环,如果字符庆纳串很大型差歼,或是最右边的换行符超多,可能循环次数就会比较多,我的不管有多长,只要5下就清空,代码如下:
Dim
a$
a
=
"a
a"
vbCrLf
"bb"
vbCrLf
"fdas"
vbCrLf
vbCrLf
vbCrLf
a
=
Replace(a,
"
",
"vb妮可")
a
=
Replace(a,
vbCrLf,
"
")
a
=
RTrim(a)
a
=
Replace(a,
"
",
vbCrLf)
a
=
Replace(a,
"vb妮可",
"
")
我的思路就是:
1.将原串中的空格都先替换成奇怪的短串,这样你的字符串中就没有空格了.
2.然后将所有的换行符都换成空格.
3.VB有一个删除右边空格的函数RTrim,可以把右边的空格都清除
4.没有删除的空格就是符合你要求的换行了,再替换回卜冲换行符
5.将奇怪的短串还原成空格
完成.
下面两种方案,你看看哪个是你想要的效果。要查看雹亩以下代码的效果,只需要把代码放入Form_Load即可
方案1:
Do
While
InStr(a,
".exe")
a
=
Replace(a,
".exe",
"拆老.eye"
vbCrLf)
Loop
Do
While
InStr(a,
vbCrLf
vbCrLf)
a
=
Replace(a,
vbCrLf
vbCrLf,
vbCrLf)
Loop
Do
While
InStr(a,
".eye")
a
=
Replace(a,
".eye",
".exe")
Loop
MsgBox
a
方案2:
Do
While
InStr(a,
".exe")
a
=
Replace(a,
".exe",
".eye
旅肆升
vbCrLf")
Loop
Do
While
InStr(a,
"
vbCrLf
vbCrLf")
a
=
Replace(a,
"
vbCrLf
vbCrLf",
"
vbCrLf")
Loop
Do
While
InStr(a,
".eye")
a
=
Replace(a,
".eye",
".exe")
Loop
MsgBox
a