qq123123 发表于 2010-10-2 20:41:00

文本拆开,变成2个字一行。(已解决)

本帖最后由 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")

3mile 发表于 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-2 Step 2
    $fin&=$str_array[$i]&$str_array[$i+1]&@CRLF
Next
FileWrite("2.txt",$fin&$str_array[$str_array])

qq123123 发表于 2010-10-4 00:23:59

回复 2# 3mile

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

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

自己摸索了一下,还是改不对!
希望 3mile再帮我处理一下,谢谢!我自己有努力改过脚本,但是改不对!

qq123123 发表于 2010-10-4 00:31:42

谢谢,自己处理好了,把2改成1,就行了!谢谢了!

3mile 发表于 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-2
    $fin&=$str_array[$i]&$str_array[$i+1]&@CRLF
Next
FileWrite("2.txt",$fin&$str_array[$str_array])

xcycom 发表于 2010-10-4 08:25:06

{:face (427):}

menfan1 发表于 2010-10-7 13:58:49

呵呵,学习一下。。
页: [1]
查看完整版本: 文本拆开,变成2个字一行。(已解决)