【已解决】如何在记事本指定位置加入一个符号。
本帖最后由 .個朲綉√ 于 2010-12-26 16:00 编辑一个记事本文件,全是手机号码,我想在每个号码后面加一个分号 ;
手机号都是11位的,也就是要在每行第12个字符位置加个;
13123456701
13123456702
13123456703
13123456704
13123456705
改为:
13123456701;
13123456702;
13123456703;
13123456704;
13123456705; Local $Str = _
'13123456701' & @CRLF & _
'13123456702' & @CRLF & _
'13123456703' & @CRLF & _
'13123456704' & @CRLF & _
'13123456705' & @CRLF
;MsgBox(0, '原字符串', $Str)
Local $Test = StringRegExpReplace($str, '(\r)', ';$1')
MsgBox(0, '结果', $Test)
#include<file.au3>
#include<array.au3>
Dim $file = FileOpenDialog("选择Txt文件",@ScriptDir & "\","Txt文件 (*.txt)",1)
If @error Then
Exit
EndIf
dim $aArray
_filereadtoarray($file, $aArray)
Local $Test = StringRegExpReplace($aArray, '(\r)', ';$1')
MsgBox(0, '结果', $Test)
记事本中的号码怎么读不出来呢? 我加入数组了,为什么数组是空的。 #include<file.au3>
#include<array.au3>
Dim $file = FileOpenDialog("选择Txt文件",@ScriptDir & "\","Txt文件 (*.txt)",1)
If @error Then
Exit
EndIf
dim $aArray
_filereadtoarray($file, $aArray)
For $x = 1 to $aArray
Local $Test = StringRegExpReplace($aArray[$x]& @CRLF, '(\r)', ';$1')
MsgBox(0, '结果', $Test)
Next $str = FileRead("1.txt")
;MsgBox(0, '原字符串', $Str)
Local $Test = StringRegExpReplace($str, '(\r)', ';$1')
MsgBox(0, '结果', $Test) 正则无法操作数组吧。
While 1
Dim $file = FileOpenDialog("选择Txt文件", @ScriptDir & "\", "Txt文件 (*.txt)", 1)
If Not @error Then
Local $Test = StringRegExpReplace(FileRead($file), '\d{11}', '$1;')
$hfile = FileOpen($file, 2)
FileWrite($file, $Test)
FileClose($file)
If MsgBox(4, "完成", "文件转换完成还要继续转换吗?") = 7 Then ExitLoop
Else
ExitLoop
EndIf
WEnd
Exit
我还想把这个结果再写进一个记事本里,该怎么写进去呢? 我加了_FileWriteFromArray
可是帮助文档里全英文的,写法可能不对,一直写不进记事本:
#include<file.au3>
#include<array.au3>
Dim $file = FileOpenDialog("选择Txt文件",@ScriptDir & "\","Txt文件 (*.txt)",1)
If @error Then
Exit
EndIf
dim $aArray
_filereadtoarray($file, $aArray)
For $x = 1 to $aArray
Local $Test = StringRegExpReplace($aArray[$x]& @CRLF, '(\r)', ';$1')
_FileWriteFromArray(@ScriptDir & $file & "back.txt",$Test,1)
MsgBox(0, '结果', 'OK')
Next
回复 6# 3mile
你的正则没写对吧,把号码全删了,只有分号了; 第4行Local $Test = StringRegExpReplace(FileRead($file), '(\d{11})', '$1;') #include<file.au3>
#include<array.au3>
Dim $file = FileOpenDialog("选择Txt文件",@ScriptDir & "\","Txt文件 (*.txt)",1)
Dim $file1=@ScriptDir & "\back.txt"
If @error Then
Exit
EndIf
dim $aArray
_filereadtoarray($file, $aArray)
For $x = 1 to $aArray
Local $Test = StringRegExpReplace($aArray[$x]& @CRLF, '(\r)', ';$1')
FileWrite($file1, $Test)
Next
FileClose($file1)
Run("notepad.exe " & $file1) 这么多源码,太爽了,研究一下 我也学习学习 正在为记事本郁闷呢,这里一部分,学习中
页:
[1]