求带{}配置文件的查询和修改[已解决]
本帖最后由 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吗? 回复 1# 1007236046
你自己做一个,就有UDF了.
这属于文本与字符串的处理问题.
如果 "email": "" 这行值是固定的,直接 StringReplace 吧.
当然你还可以学一学正则. 回复 2# user3000
udf我肯定是写不出的啊
正则也不会,不过这个用正则也很难的吧,比如修改“browser“下”window_placement"下的“bottom”值为100,怎么用正则写啊 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 版主的回答可以解决我的问题了,我就替换2个字符串,不过还是希望有人能写出udf,这样又多了种数据存储方式,无形中也算加密了吧
页:
[1]