找回密码
 加入
搜索
楼主: 131738

[AU3基础] (已解决) 如何只替换指定的字符串?谢谢!!!

 火.. [复制链接]
 楼主| 发表于 2011-6-13 23:42:22 | 显示全部楼层
回复  131738


    那就没问题,_FileSRER2Line() 可以满足。同时证明 3mile 的提问是很有见地的……
afan 发表于 2011-6-13 23:39


打扰了。。。明天重编代码测试。。。。
发表于 2011-6-13 23:43:39 | 显示全部楼层
本帖最后由 afan 于 2011-6-13 23:45 编辑

回复 16# 131738


    客气~ 前辈汉化辛苦了~ 我还等着那些高版本的Udf汉化档呢,现在还没跟进新版AU3~
发表于 2011-6-14 00:31:30 | 显示全部楼层
新手路过.....
 楼主| 发表于 2011-6-14 03:38:35 | 显示全部楼层
本帖最后由 131738 于 2011-6-14 04:03 编辑

回复 17# afan

高版本的Udf汉化档? 如果是指 UDF ,我已发了3379,只是目录页还未补齐,
如果是 winApiEx ,则还没准备。。。呵呵!!!
发表于 2011-6-14 12:36:17 | 显示全部楼层
回复  afan

高版本的Udf汉化档? 如果是指 UDF ,我已发了3379,只是目录页还未补齐,
如果是 winApiEx ...
131738 发表于 2011-6-14 03:38


当然还包括 api 函数及其它的,我也不知道新版 Au3 更新了哪些帮助文档…
 楼主| 发表于 2011-6-15 18:21:24 | 显示全部楼层
本帖最后由 131738 于 2011-6-15 19:33 编辑
当然还包括 api 函数及其它的,我也不知道新版 Au3 更新了哪些帮助文档…
afan 发表于 2011-6-14 12:36

昨天到现在才登陆成功,也不知什么原因?

我尽量吧。。。。,头大了。。。。马上有问题要向你请教和请求帮忙,希望不会过多的打扰你吧!

目前可以确定内置函数没有加减变化,语句变化也极其微小,UDF 添加 6 个函数和 1 个结果,以整合发布了!
 楼主| 发表于 2011-6-15 19:34:47 | 显示全部楼层
本帖最后由 131738 于 2011-6-15 20:13 编辑

回复 20# afan

我修改了 1 楼的提问内容,请帮忙看看,谢谢!!!

瞎掰 _FileSRER2Line 也不起作用
 楼主| 发表于 2011-6-15 19:49:02 | 显示全部楼层
_ReplaceStringInFile("F:\txt.txt", "ABCD", "1234", 0, 1)
netegg 发表于 2011-6-13 23:03


对不起! 没及时看到你的回帖,谢谢!!!我看看。。。
 楼主| 发表于 2011-6-15 19:56:10 | 显示全部楼层
请问前辈,需要替换的ABCD是单独的一行吗?
3mile 发表于 2011-6-13 23:08


对不起! 未及时看到你的回帖,为这个问题焦头乱额,加上不知什么原因,

从昨天到现在才得以登陆,是的 一个单词,独占一行,顶行起头。。。

麻烦在看看 1 楼的提问,我已做了提问修改,

再次道歉!未及时回复你!!!
发表于 2011-6-15 21:44:11 | 显示全部楼层
回复 24# 131738
请前辈试下有没有效果.
仅是针对前辈1楼的问题,也不知道合不合意.
Local $Str = _
                '###File###' & @CRLF & _
                'My File' & @CRLF & _
                'FileName' & @CRLF & _
                'My File Name' & @CRLF & _
                'MyFileName' & @CRLF & _
                'File' & @CRLF & _
                'FileName My' & @CRLF & _
                'My Name File'
MsgBox(0, '原字符串', $Str)
Local $Test = StringRegExpReplace($str, '(?m)^File(?=[\r\n])', '文件')
MsgBox(0, '替换结果', $Test)
 楼主| 发表于 2011-6-15 21:54:56 | 显示全部楼层
本帖最后由 131738 于 2011-6-15 22:00 编辑
回复  131738
请前辈试下有没有效果.
仅是针对前辈1楼的问题,也不知道合不合意.
3mile 发表于 2011-6-15 21:44


谢谢!!!我看看。。。脚本效果很好,我再实际测试一下
 楼主| 发表于 2011-6-15 22:13:20 | 显示全部楼层
本帖最后由 131738 于 2011-6-15 22:16 编辑

回复 25# 3mile

但运行脚本,效果很好,但带入实际应用,却没有效果。。。

这是一个实际的 txt 文件:有多个  Function
要求只替换第 13 行的 Function 为 函数,其它保持原样。
###Function###
AdlibUnRegister

###Description###
Unregisters an adlib function.

###Syntax###
AdlibUnRegister( [ "function" ] )


###Parameters###
@@ParamTable@@
function
        [optional] The name of the adlib function to be Unregistered.  See remarks for more information.
@@End@@

###ReturnValue###
@@ReturnTable@@
The number of adlib functions currently registered.
@@End@@


###Remarks###
If the function name is not specified then the last registered function will be unregistered.

###Related###
AdlibRegister


###Example###
@@IncludeExample@@
下面是修改你的脚本:
$File = @ScriptDir&"\2.txt"
$Str = String(FileRead($File))

;#==========================
;Local $Str = _
                ;'###File###' & @CRLF & _
               ; 'My File' & @CRLF & _
               ; 'FileName' & @CRLF & _
               ; 'My File Name' & @CRLF & _
               ; 'MyFileName' & @CRLF & _
               ; 'File' & @CRLF & _
               ; 'FileName My' & @CRLF & _
               ; 'My Name File'
MsgBox(0, '原字符串', $Str)
Local $Test = StringRegExpReplace($str, '(?m)^Function(?=[\r\n])', '函数')
MsgBox(0, '替换结果', $Test)
脚本能够运行,但两个消息框内容一样的,也就是替换失败!
 楼主| 发表于 2011-6-15 22:26:47 | 显示全部楼层
本帖最后由 131738 于 2011-6-15 22:53 编辑

回复 20# afan

27 楼有一个实际  txt 文件例子,

3mile  给的代码和你给的代码一样,都是单独运行有效果,代入实际应用失败。。。。

27楼代码目前有效果了,我再大批量应用看看。。。
 楼主| 发表于 2011-6-15 22:51:37 | 显示全部楼层
回复 25# 3mile

谢谢!!!暂时解决了,原来是区分大小写的。

我再大批量应用看看!
发表于 2011-6-15 22:52:51 | 显示全部楼层
回复 28# 131738
哦,是这样的,前辈1楼里说不必区分大小写,以为前辈专门需要区分大小写,所以这样写了.对不起前辈了
正则改成这样可以匹配大小写:
Local $Str = _
                '###Function###' & @CRLF & _
                'AdlibUnRegister' & @CRLF & @CRLF & _
                '###Description###' & @CRLF & _
                'Unregisters an adlib function.' & @CRLF & @CRLF & _
                '###Syntax###' & @CRLF & _
                'AdlibUnRegister( [ "function" ] )' & @CRLF & @CRLF & @CRLF & _
                '###Parameters###' & @CRLF & _
                '@@ParamTable@@' & @CRLF & _
                'function' & @CRLF & _
                '       [optional] The name of the adlib function to be Unregistered.  See remarks for more information.' & @CRLF & _
                '@@End@@' & @CRLF & @CRLF & _
                '###ReturnValue###' & @CRLF & _
                '@@ReturnTable@@' & @CRLF & _
                'The number of adlib functions currently registered.' & @CRLF & _
                '@@End@@' & @CRLF & @CRLF & @CRLF & _
                '###Remarks###' & @CRLF & _
                'If the function name is not specified then the last registered function will be unregistered.' & @CRLF & @CRLF & _
                '###Related###' & @CRLF & _
                'AdlibRegister' & @CRLF & @CRLF & @CRLF & _
                '###Example###' & @CRLF & _
                '@@IncludeExample@@'
MsgBox(0, '原字符串', $Str)
Local $Test = StringRegExpReplace($str, '(?im)^Function(?=[\r\n])', '文件')
MsgBox(0, '替换结果', $Test)
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-17 01:41 , Processed in 0.070725 second(s), 13 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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