以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]字符长替换  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=121751)

--  作者:积水成渊
--  发布时间:2018/7/12 14:29:00
--  [求助]字符长替换
遇到了一难题,不知道该如何解决,现有一字符串:{"固定加班补贴":"lsq","餐费报销":"qqq11"} 第一个问题,如果给定一个条件是:固定加班补贴,如何获取lsq
第二个问题就是 给定的条件如果是:固定加班补贴,将lsq替换成123456,查了一些资料,有个正则条件替换,但是不是很明白,该怎么实现




--  作者:有点甜
--  发布时间:2018/7/12 14:48:00
--  

你得到的数据是不是json数据?

 

http://www.foxtable.com/mobilehelp/scr/0140.htm

 

如果不是接送,需要直接替换,那就需要用regex.replace正则替换了。


--  作者:积水成渊
--  发布时间:2018/7/12 14:58:00
--  
json数据,老师
--  作者:有点甜
--  发布时间:2018/7/12 15:00:00
--  

参考这里,解析,然后读取或者修改值,即可

 

http://www.foxtable.com/mobilehelp/scr/0140.htm

 


--  作者:积水成渊
--  发布时间:2018/7/12 15:22:00
--  
谢谢老师,这个手机版的帮助文档还没有看过呢
--  作者:积水成渊
--  发布时间:2018/7/12 15:53:00
--  
有点甜老师,还需要请教下,为什么lsq 没有被替换成123456,哪里出错了
Dim t As Table = CurrentTable
If t.Current Is Nothing Then Return False
If t.TopPosition < 0 Then Return False \'如果选定区域不包括数据行
Dim it As Win.Data.ITable = SYS.Tables(t.Name)
For i As Integer = it.TopRow To it.BottomRow
    Dim r As Win.Data.IRow = it.Rows(i)
    If r.Visible = False Then Continue For
    If r("SYS_Note").Contains(CurrentTable.Cols(CurrentTable.ColSel).Name) = True Then
        Dim json As String = r("SYS_Note")
        Dim jo As JObject = JObject.Parse(json)
            jo(CurrentTable.Cols(CurrentTable.ColSel).Name) = "123456"
            output.show(json)
    Else
        \'待加代码
    End If
Next

--  作者:积水成渊
--  发布时间:2018/7/12 16:33:00
--  
如何在json中添加元素,修改元素
--  作者:有点甜
--  发布时间:2018/7/12 17:16:00
--  

参考

 

http://www.foxtable.com/mobilehelp/scr/0167.htm