131738 发表于 2011-6-13 23:42:22

回复131738


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

打扰了。。。明天重编代码测试。。。。

afan 发表于 2011-6-13 23:43:39

本帖最后由 afan 于 2011-6-13 23:45 编辑

回复 16# 131738


    客气~ 前辈汉化辛苦了~ 我还等着那些高版本的Udf汉化档呢,现在还没跟进新版AU3~

对太阳微笑 发表于 2011-6-14 00:31:30

新手路过.....

131738 发表于 2011-6-14 03:38:35

本帖最后由 131738 于 2011-6-14 04:03 编辑

回复 17# afan

高版本的Udf汉化档? 如果是指 UDF ,我已发了3379,只是目录页还未补齐,
如果是 winApiEx ,则还没准备。。。呵呵!!!

afan 发表于 2011-6-14 12:36:17

回复afan

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

当然还包括 api 函数及其它的,我也不知道新版 Au3 更新了哪些帮助文档…

131738 发表于 2011-6-15 18:21:24

本帖最后由 131738 于 2011-6-15 19:33 编辑

当然还包括 api 函数及其它的,我也不知道新版 Au3 更新了哪些帮助文档…
afan 发表于 2011-6-14 12:36 http://www.autoitx.com/images/common/back.gif
昨天到现在才登陆成功,也不知什么原因?

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

目前可以确定内置函数没有加减变化,语句变化也极其微小,UDF 添加 6 个函数和 1 个结果,以整合发布了!

131738 发表于 2011-6-15 19:34:47

本帖最后由 131738 于 2011-6-15 20:13 编辑

回复 20# afan

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

瞎掰 _FileSRER2Line 也不起作用

131738 发表于 2011-6-15 19:49:02

_ReplaceStringInFile("F:\txt.txt", "ABCD", "1234", 0, 1)
netegg 发表于 2011-6-13 23:03 http://www.autoitx.com/images/common/back.gif

对不起! 没及时看到你的回帖,谢谢!!!我看看。。。

131738 发表于 2011-6-15 19:56:10

请问前辈,需要替换的ABCD是单独的一行吗?
3mile 发表于 2011-6-13 23:08 http://www.autoitx.com/images/common/back.gif

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

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

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

再次道歉!未及时回复你!!!

3mile 发表于 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)

131738 发表于 2011-6-15 21:54:56

本帖最后由 131738 于 2011-6-15 22:00 编辑

回复131738
请前辈试下有没有效果.
仅是针对前辈1楼的问题,也不知道合不合意.
3mile 发表于 2011-6-15 21:44 http://www.autoitx.com/images/common/back.gif

谢谢!!!我看看。。。脚本效果很好,我再实际测试一下

131738 发表于 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
        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)脚本能够运行,但两个消息框内容一样的,也就是替换失败!

131738 发表于 2011-6-15 22:26:47

本帖最后由 131738 于 2011-6-15 22:53 编辑

回复 20# afan

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

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

27楼代码目前有效果了,我再大批量应用看看。。。

131738 发表于 2011-6-15 22:51:37

回复 25# 3mile

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

我再大批量应用看看!

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 & _
                '       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)
页: 1 [2] 3 4
查看完整版本: (已解决) 如何只替换指定的字符串?谢谢!!!