找回密码
 加入
搜索
查看: 4492|回复: 6

[效率算法] 文本拆开,变成2个字一行。(已解决)

  [复制链接]
发表于 2010-10-2 20:41:00 | 显示全部楼层 |阅读模式
本帖最后由 qq123123 于 2010-10-4 00:32 编辑

大概有1M数据TXT文字,我想把文字拆分开来,变成2个字一行。
谢谢 3mile   给出的代码,但是代码读出来有“乱码”
可以测试下,在读出来的TXT 最后,出现乱码!
原帖如下,有附件供测试!
http://www.autoitx.com/thread-18537-1-1.html



local $str,$hfile,$read
$hfile=FileOpen("a.txt");这里给文件名
$size=FileGetSize('a.txt')
For $i =0 To $size Step 2
        FileSetPos($hfile,$i,0)
        $read=FileRead($hfile,4);中文用4,英文用2
        $str&=$read&@CRLF
Next
FileClose($hfile)
FileWrite("b.txt",$str);输出的文件名


---------------------- 下面这里是自己修改过的!
local $str,$hfile,$read

$file = FileOpen("1.txt", 0)
$hao = FileRead($file,62000000)
$hao_1 = StringStripWS ($hao, 8)  ;删除所有空格
FileClose($file)

$text6 = StringRegExpReplace($hao_1,"[$「」『』【】〖〗±×÷£¤§°;’‘-《》*、`:〔〕()()“!”—.,…!?。,!?://ABCDEFGHIJKLMNOPQRSTUVWXYZ?abcdefghijklmnopqrstuvwxyztCO0123456789013568]", '')

$file = FileOpen("11.txt", 2)
FileWrite($file, $text6)
FileClose($file)

$hfile=FileOpen("11.txt");这里给文件名
$size=FileGetSize("11.txt")
For $i = 0 To $size Step 2
        FileSetPos($hfile,$i,0)
        $read=FileRead($hfile,4);中文用4,英文用2
                                $str&=$read&@CRLF
Next
FileClose($hfile)
FileWrite("OK-1.txt",$str);输出的文件名
FileDelete("11.txt")

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×

评分

参与人数 1金钱 +10 收起 理由
afan + 10 感谢主动将修改帖子分类为[已解决],请继续 ...

查看全部评分

发表于 2010-10-3 00:11:45 | 显示全部楼层
回复 1# qq123123
这样的效果?
#include <array.au3>
Local $fin
$str=FileRead("1.txt")
$str_array=StringSplit($str,"")
For $i=1 To $str_array[0]-2 Step 2
    $fin&=$str_array[$i]&$str_array[$i+1]&@CRLF
Next
FileWrite("2.txt",$fin&$str_array[$str_array[0]])
 楼主| 发表于 2010-10-4 00:23:59 | 显示全部楼层
回复 2# 3mile

这样代码运行出来,就很好,没有乱码!
但是少了一个功能
比如文本内容是 1234567890
你现在读出来的结果是
12
34
56
78
90

我想要的结果是:
12
23
34
45
56
67
78
89
90

自己摸索了一下,还是改不对!
希望 3mile  再帮我处理一下,谢谢!我自己有努力改过脚本,但是改不对!
 楼主| 发表于 2010-10-4 00:31:42 | 显示全部楼层
谢谢,自己处理好了,把2改成1,就行了!谢谢了!
发表于 2010-10-4 00:33:22 | 显示全部楼层
回复 3# qq123123
#include <array.au3>
Local $fin
$str=FileRead("1.txt")
$str_array=StringSplit($str,"")
For $i=1 To $str_array[0]-2 
    $fin&=$str_array[$i]&$str_array[$i+1]&@CRLF
Next
FileWrite("2.txt",$fin&$str_array[$str_array[0]])

评分

参与人数 1金钱 +20 收起 理由
afan + 20

查看全部评分

发表于 2010-10-4 08:25:06 | 显示全部楼层

评分

参与人数 1金钱 -20 贡献 -1 收起 理由
afan -20 -1 警告,禁止纯表情!

查看全部评分

发表于 2010-10-7 13:58:49 | 显示全部楼层
呵呵,学习一下。。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-20 23:45 , Processed in 0.084488 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表