文本有条件剪切.... [已解决]
本帖最后由 流沙枫 于 2012-3-22 14:46 编辑addcaller-id="" comment="\B1\D5\CE\B0\C0\BCm" disabled=yes name=201107 password=201107 profile=default routes="" service=pppoe
addcaller-id="" comment="\B1\D5\D1\DE\D5\E4" disabled=yes name=200902 password=200902 profile=default routes="" service=pppoe
addcaller-id="" comment="\B1\F6\D6\F9\C3\F7m" disabled=yes name=201002 password=201002 profile=default routes=""
service=pppoe
把name=2011的行剪切出来,再按升序排列?
如
name=201101
name=201102
不好意思了,又遇到难题,再次求助各位大大..... Local $sFile1 = @ScriptDir & '\test2011.rsc'
Local $sFile2 = @ScriptDir & '\2test2011.rsc'
Local $Str = FileRead($sFile1)
Local $scut = StringRegExp($str, '(?i)(.+\s+.+name=\h*(2011.+?)\h*\2')
If Not @Error And @Extended = 0 Then Exit MsgBox(48, '注意', '没 ')
Local $Extended = @Extended
FileDelete($sFile1)
If FileWrite($sFile1, $scut) Then MsgBox(64, '完成', '成功 ' & $Extended & ' 处 ')改不出.... 试试? 不知大文件的效率如何?
但应该工作正常罢!#include <array.au3>
$txt = FileRead('d:\new.rsc')
$line = StringRegExp($txt, '.+name=2011\d{2}.+', 3)
If @error Then Exit
$s = UBound($line)
Local $index[$s]
For $i = 0 To $s -1
$Lable = StringRegExpReplace($line[$i], '.+(name=\d{6}).+', '\1') ; 提取关键字作为排列依据
$index[$i] = $Lable
Next
_ArraySort($index); 排列关键字
Local $str = ''
For $i = 0 To $s -1
For $ii = 0 To $s -1
If StringRegExp($line[$ii], $index[$i]) Then $str &= $line[$ii] & @CRLF ; 按关键字重组所胡字符串
Next
Next
FileWrite('d:\2011.rsc', $str) 回复 3# user3000 #include <array.au3>
Local $sFile1 = @ScriptDir & '\test2011.rsc'
Local $sFile2 = @ScriptDir & '\2test2011.rsc'
$line = StringRegExp($sFile1, '.+name=2011\d{2}.+', 3)
If @error Then Exit
$s = UBound($line)
Local $index[$s]
For $i = 0 To $s -1
$Lable = StringRegExpReplace($line[$i], '.+(name=\d{6}).+', '\1') ; 提取关键字作为排列依据
$index[$i] = $Lable
Next
_ArraySort($index); 排列关键字
Local $str = ''
For $i = 0 To $s -1
For $ii = 0 To $s -1
If StringRegExp($line[$ii], $index[$i]) Then $str &= $line[$ii] & @CRLF ; 按关键字重组所胡字符串
Next
Next
FileWrite($sFile2, $str)修改了下,无效的? 回复user3000 修改了下,无效的?
流沙枫 发表于 2012-3-22 10:40 http://www.autoitx.com/images/common/back.gif
我...R..I...
你读文件的代码呢? 回复 5# user3000
Local $Str = FileRead($sFile1)?
加这行?
也不行呢..... 回复 3# user3000
用回这个也行了..... 回复user3000
用回这个也行了.....
流沙枫 发表于 2012-3-22 11:05 http://www.autoitx.com/images/common/back.gif
把文件上传上来吧.
太大就截取一部分..
或者自己加 msgBox 等看看是不是正则工作不正常! 回复 2# 流沙枫
Array variable subscript badly formatted.:
Local $index[$s]
Local $index[^ ERROR 回复 8# user3000
都是和上面三行差不多的,数据不用都上传吧? 本帖最后由 user3000 于 2012-3-22 11:25 编辑
回复user3000
都是和上面三行差不多的,数据不用都上传吧?
流沙枫 发表于 2012-3-22 11:14 http://www.autoitx.com/images/common/back.gif
这是我测试成功的数据...
运行环境:AutoIt v3.3.7.15 (beta)中文版
那你自己对比, 慢慢找原因吧 回复 11# user3000
真的可以了,原来是改错代码了,不好意思啊,谢谢啊..... 本帖最后由 流沙枫 于 2012-3-22 14:45 编辑
回复 11# user3000
3 返回全局匹配的数组.
原来是没好好学习,sorry了....
页:
[1]