请问各位如何从文本文件中读出指定行列的字符?

felixon 2004-11-25 11:49:39
例如有一文本文件qq.txt在c:\下,内容如下:

123456I8901234567890
12345678901234Love90
12345678901234567890
you45678901234567890
45646806434671645644

而我只想把第一行第七字符,第二行的十五至十八的字符,及第四行的第一至第三字符读出。
最后就是读出I 、Love 、you 这几个字符。该如何操作呢?
...全文
117 点赞 收藏 9
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
yqh1314 2004-11-25
love007(风中的风) 正解
回复
阿泰 2004-11-25
我想你的意思这样表达更明确些:
取该行中的字母作为一个单词,然后将所有行中的字母连成一句话
<%
'**********************************
' Create By Babyt[阿泰]
' Create At 2004-11-25 12:50
'**********************************
Dim strFileName,objFSO,objFile
Dim strCut
Dim strLine
Dim strOut
Dim i

strFileName="c:\qq.txt"
Set objFSO = CreateObject("Scripting.FileSystemObject")
'判断文件是否存在
If objFSO.FileExists(strFileName)=False Then
Response.Write "文件不存在"
Response.End
End If

'打开文件
Set objFile = objFSO.OpenTextFile(strFileName)
'按行读取文本流
Do While Not objFile.AtEndOfStream
strLine = objFile.ReadLine
strCut=""
'Response.write strLine & "<br>"
If Len(strLine)>0 Then
For i=1 To Len(strLine)
If ASC(Mid(strLine,i,1))>57 OR ASC(Mid(strLine,i,1))<48 Then
strCut= strCut & Mid(strLine,i,1)
End If
Next
strOut=strOut & VBCRLF & strCut
End If
Loop
Response.Write strOut
objFile.Close
Set objFile=Nothing
Set objFSO=NOthing
%>
回复
zhangjun 2004-11-25
方法如下:
dim fs,txtfile,str
dim t1,t2,t3,tmp
set fs=server.CreateObject("scripting.filesystemobject")
set txtfile=fs.opentextfile(server.MapPath("qq.txt"))
while not txtfile.AtEndOfStream
TSline=txtfile.line
str = txtFile.readline
select case tsline
case "1"
t1=mid(str,7,1)
case "2"
t2=mid(str,15,4)
case "4"
t3=mid(str,1,3)
end select
wend
tmp=t1&" "&t2&" "&t3
response.write tmp
txtfile.close
回复
zhangjun 2004-11-25
set fs=server.CreateObject("scripting.filesystemobject")
set txtfile=fs.opentextfile(server.MapPath("aa.txt"))
while not txtfile.AtEndOfStream
TSline=txtfile.line
if TSline=1 then
txtfile.skipline
....
elseif TSline=7 then '如果要读的行数不是这几行,可以自己修改3和5。
txtfile.skipline
...
else
response.Write(txtfile.readline)
response.Write("<br/>")
end if
wend
txtfile.close

回复
honghe1 2004-11-25
现有的方法不能直接实现你的需求,只能自己写一个函数来实现,而且也不麻烦.你不会告诉我这个也不做不来啊,写程序的,这个都不能实现,那.........,我想你一定能自己写出来的.关注中.....
回复
ygjwjj 2004-11-25
同意楼上:
只有全部读出来,放到字符串(数组)中,然后用MID定位,操作.
回复
jiank 2004-11-25
全读出来再处理
回复
felixon 2004-11-25
谢谢各位!很清楚!
回复
zhangjun 2004-11-25
完整的写法:
dim fs,txtfile,str
dim t1,t2,t3,tmp
set fs=server.CreateObject("scripting.filesystemobject")
'判断文件是否存在
If fs.FileExists(server.MapPath("qq.txt"))=False Then
Response.Write "文件不存在"
Response.End
End If
'打开
set txtfile=fs.opentextfile(server.MapPath("qq.txt"))

while not txtfile.AtEndOfStream
TSline=txtfile.line
str = txtFile.readline
select case tsline
case "1"
t1=mid(str,7,1)
case "2"
t2=mid(str,15,4)
case "4"
t3=mid(str,1,3)
end select
wend
tmp=t1&" "&t2&" "&t3
response.write tmp
txtfile.close
回复
相关推荐
发帖
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
帖子事件
创建了帖子
2004-11-25 11:49
社区公告
暂无公告