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

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

123456I8901234567890
12345678901234Love90
12345678901234567890
you45678901234567890
45646806434671645644

而我只想把第一行第七字符,第二行的十五至十八的字符,及第四行的第一至第三字符读出。
最后就是读出I 、Love 、you 这几个字符。该如何操作呢?
...全文
195 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
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

28,409

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧