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

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

 火.. [复制链接]
 楼主| 发表于 2011-6-15 23:02:10 | 显示全部楼层
本帖最后由 131738 于 2011-6-16 17:02 编辑
回复  131738
哦,是这样的,前辈1楼里说不必区分大小写,以为前辈专门需要区分大小写,所以这样写了.对不起前 ...
3mile 发表于 2011-6-15 22:52


太客气了,实在受不起!!!大小写有没有关系不大,当然不区分方便些,我再大批量应用看看。。。

打扰了,以后千万别这么客气,包括“前辈”称呼,实在受不起。也就痴长30好几吧。。。

再次谢谢!!!!
发表于 2011-6-16 13:09:46 | 显示全部楼层
这两天登录不了,以为论坛出了问题,改了hosts文件就好了。
貌似前辈已解决了,呵呵~
 楼主| 发表于 2011-6-16 17:01:16 | 显示全部楼层
回复 32# afan

是的,3mile 帮助解决的。。。
登陆问题遇到与你同样的问题,这次登录还是通过 google 搜索后登录的,IE8 的首页设置也被禁止了,这个 hosts 文件在什么地方? hosts 是文件名称吗?我试试看。。。谢谢关心!!!
 楼主| 发表于 2011-6-16 17:03:33 | 显示全部楼层
回复 25# 3mile

谢谢了!!!很好用!!!!
发表于 2011-6-16 17:17:08 | 显示全部楼层
本帖最后由 afan 于 2011-6-16 17:19 编辑
回复  afan

是的,3mile 帮助解决的。。。
登陆问题遇到与你同样的问题,这次登录还是通过 google 搜索 ...
131738 发表于 2011-6-16 17:01



    是文件 WINDOWS\system32\drivers\etc\hosts
用记事本打开hosts,下面加一行
202.171.154.60 www.AutoItX.com
试试~
 楼主| 发表于 2011-6-16 22:41:18 | 显示全部楼层
回复 35# afan

不行。。。我杀杀毒看看。。。
发表于 2015-3-13 18:31:38 | 显示全部楼层
回复 15# afan


前辈,想请教一下字符串替换的问题:

$File = @ScriptDir&"2.xml"
里面有下列语句:

    <?xml version="1.0" encoding="ISO-8859-1"?>
<root>
        <item id="Title"><![CDATA[Discuz! Plugin]]></item>
        <item id="Version"><![CDATA[X3.2]]></item>
        <item id="Time"><![CDATA[2014-07-01 15:57]]></item>
        <item id="From"><![CDATA[DAJIAHAO (http://www.baidu.com/)]]></item>
        <item id="Data">
                <item id="plugin">
                        <item id="available"><![CDATA[1]]></item>
                        <item id="adminid"><![CDATA[1]]></item>
                        <item id="name"><![CDATA[顶顶顶顶顶]]></item>
                        <item id="identifier"><![CDATA[compress]]></item>
                        <item id="description"><![CDATA[]]></item>
                        <item id="datatables"><![CDATA[]]></item>
                        <item id="directory"><![CDATA[compress/]]></item>
                        <item id="copyright"><![CDATA[还好吗|www.baidu.com]]></item>
                        <item id="version"><![CDATA[v2]]></item>
                        <item id="__modules">
                                <item id="0">

我想完全替换掉里面这两行:
<item id="From"><![CDATA[DAJIAHAO (http://www.baidu.com/)]]></item>
<item id="copyright"><![CDATA[还好吗|www.baidu.com]]></item>
完全替换为:
<item id="From"><![CDATA[NIHAO (http://www.360.com/)]]></item>
<item id="copyright"><![CDATA[都很好|www.360.com]]></item>
查了几天资料都没搞成功,所来您这取经来了,希望可以得到前辈的帮助 !谢谢!
发表于 2015-3-13 19:17:03 | 显示全部楼层
回复 37# pyj521


    直接用StringReplace()替换两次不就好了?
发表于 2015-3-13 19:41:43 | 显示全部楼层
回复 38# afan


    小菜鸟一只,不知道如何写这代码,可以劳烦前辈给个实例吗?感激不尽!
发表于 2015-3-13 20:22:03 | 显示全部楼层
回复  afan


    小菜鸟一只,不知道如何写这代码,可以劳烦前辈给个实例吗?感激不尽!
pyj521 发表于 2015-3-13 19:41



    你才是前辈…
Local $File = @ScriptDir & '\2.xml'
Local $FileNew = @ScriptDir & '\2_替换.xml'
Local $str = FileRead($File)
$str = StringReplace($str, '<item id="From"><![CDATA[DAJIAHAO (http://www.baidu.com/)]]></item>', _
                '<item id="From"><![CDATA[NIHAO (http://www.360.com/)]]></item>')
$str = StringReplace($str, '<item id="copyright"><![CDATA[还好吗|www.baidu.com]]></item>', _
                '<item id="copyright"><![CDATA[都很好|www.360.com]]></item>')
FileDelete($FileNew)
FileWrite($FileNew, $str)
发表于 2015-3-13 20:35:55 | 显示全部楼层
回复 40# afan


    afan大你总是那么的谦虚,谢谢你的帮助,代码完美至极,受益匪浅。再次感谢!
发表于 2015-3-13 21:16:01 | 显示全部楼层
回复 40# afan

afan大 再次劳烦您一下,假如一个目录里面有多个文件
discuz_plugin_compress_SC_UTF8.xml,discuz_plugin_compress_TC_BIG5.xml,discuz_plugin_compress_SC_GBK.xml,discuz_plugin_compress_SC_UTF8.xml等等

我要一次全部替换,但是又不要生成新的文件名,保持原来的文件名不变,需要怎么写呢?呵呵,都不好再说了,除了感谢!还是期望!
发表于 2015-3-13 21:20:49 | 显示全部楼层
回复 42# pyj521


    你是需要搜索目录下所有的xml文件,还是指定哪些文件?
发表于 2015-3-13 21:58:14 | 显示全部楼层
回复 43# afan


    搜索一个目录下所有的xml文件,然后替换每个文件里面的字符串。保持文件名不变,这样就完美了。拜托了afan大!
发表于 2015-3-13 22:06:15 | 显示全部楼层
回复 44# pyj521
#Include <File.au3>

$aFile = _FileListToArray(@ScriptDir, '*.xml',1)
If @Error Then Exit

For $i = 1 To $aFile[0]
        _Re2File(@ScriptDir & '\' & $aFile[$i])
        Sleep(1)
Next

Func _Re2File($File)
        Local $FileNew = $File
        Local $str = FileRead($File)
        $str = StringReplace($str, '<item id="From"><![CDATA[DAJIAHAO (http://www.baidu.com/)]]></item>', _
                        '<item id="From"><![CDATA[NIHAO (http://www.360.com/)]]></item>')
        $str = StringReplace($str, '<item id="copyright"><![CDATA[还好吗|www.baidu.com]]></item>', _
                        '<item id="copyright"><![CDATA[都很好|www.360.com]]></item>')
        Local $hFO = FileOpen($FileNew, 2)
        FileWrite($hFO, $str)
        FileClose($hFO)
EndFunc   ;==>_Re2File
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-17 00:54 , Processed in 0.073592 second(s), 13 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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