找回密码
 加入
搜索
查看: 3087|回复: 4

[AU3基础] 求带{}配置文件的查询和修改[已解决]

[复制链接]
发表于 2013-8-29 19:20:20 | 显示全部楼层 |阅读模式
本帖最后由 1007236046 于 2013-9-1 20:05 编辑
{
   "browser": {
      "clear_lso_data_enabled": true,
      "pepper_flash_settings_enabled": true,
      "window_placement": {
         "bottom": 560,
         "left": 10,
         "maximized": false,
         "right": 790,
         "top": 10,
         "work_area_bottom": 570,
         "work_area_left": 0,
         "work_area_right": 800,
         "work_area_top": 0
      }
   },
   "cloud_print": {
      "email": ""
   },
   "sync": {
      "suppress_start": true
   }
}
上面是配置文件里的内容,怎么修改cloud_print后面的{}里email的值呢;有这方面的udf吗?
发表于 2013-8-29 20:10:05 | 显示全部楼层
回复 1# 1007236046
你自己做一个,就有UDF了.

这属于文本与字符串的处理问题.
如果    "email": ""    这行值是固定的,直接 StringReplace 吧.
当然你还可以学一学正则.
 楼主| 发表于 2013-8-30 11:06:27 | 显示全部楼层
回复 2# user3000


    udf我肯定是写不出的啊
正则也不会,不过这个用正则也很难的吧,比如修改“browser“下”window_placement"下的“bottom”值为100,怎么用正则写啊
发表于 2013-8-30 12:41:35 | 显示全部楼层
Local $Str = _
                '{' & @CRLF & _
                '   "browser": {' & @CRLF & _
                '      "clear_lso_data_enabled": true,' & @CRLF & _
                '      "pepper_flash_settings_enabled": true,' & @CRLF & _
                '      "window_placement": {' & @CRLF & _
                '         "bottom": 560,' & @CRLF & _
                '         "left": 10,' & @CRLF & _
                '         "maximized": false,' & @CRLF & _
                '         "right": 790,' & @CRLF & _
                '         "top": 10,' & @CRLF & _
                '         "work_area_bottom": 570,' & @CRLF & _
                '         "work_area_left": 0,' & @CRLF & _
                '         "work_area_right": 800,' & @CRLF & _
                '         "work_area_top": 0' & @CRLF & _
                '      }' & @CRLF & _
                '   },' & @CRLF & _
                '   "cloud_print": {' & @CRLF & _
                '      "email": ""' & @CRLF & _
                '   },' & @CRLF & _
                '   "sync": {' & @CRLF & _
                '      "suppress_start": true' & @CRLF & _
                '   }' & @CRLF & _
                '}'
MsgBox(0, '原字符串', $Str)
MsgBox(0, '替换结果', _Replace('window_placement', 'bottom', 100))
MsgBox(0, '替换结果', _Replace('cloud_print', 'email', 'av@av.com'))

Func _Replace($s1, $s2, $sR = '')
        Return StringRegExpReplace($str, '(?si)("' & $s1 & '"[^}]*?"' & $s2 & '":\h*"?)[^,"]*', '${1}' & $sR)
EndFunc  ;==>_Replace
 楼主| 发表于 2013-8-30 17:53:47 | 显示全部楼层
版主的回答可以解决我的问题了,我就替换2个字符串,不过还是希望有人能写出udf,这样又多了种数据存储方式,无形中也算加密了吧
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-24 01:42 , Processed in 0.091323 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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