以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  断续求助!!!!如何把数据表指定列单元格中的字符串(只包含有有数字和汉字)中的汉字去掉并只保留数字。 发帖心情  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=146286)

--  作者:温馨的大树
--  发布时间:2020/2/20 17:46:00
--  断续求助!!!!如何把数据表指定列单元格中的字符串(只包含有有数字和汉字)中的汉字去掉并只保留数字。 发帖心情
求助!!!!如何把订单明细表的实收金额列对应的每个单元格的字符串(只包含有有数字和汉字)中的去掉汉字并只保留数字。并转化为数值  图片点击可在新窗口打开查看 ,可以按照以下代码在命令窗口操作,代码也没有错误提醒,但是执行时就进入了卡机状态,再没有任何反应了,只能重启电脑,FOXtable里面实收金额列数据没有任何改变?请问怎么解决啊,我写的代码有什么 问题没有?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:求救代码.txt

补充一下代码txt文件,前面上传错了附件,以这个为准,麻烦指导解决下,谢谢
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:求救代码.txt

[此贴子已经被作者于2020/2/20 17:55:45编辑过]

--  作者:有点蓝
--  发布时间:2020/2/21 8:43:00
--  

Dim pattern As String = "[\\u4e00-\\u9fa5]"

CurrentTable.StopRedraw
For Each r As Row In CurrentTable.Rows
    Dim txt As String = r("实收金额")
    r("实收金额") = System.Text.RegularExpressions.Regex.Replace(txt, pattern ,"")
Next
CurrentTable.save
CurrentTable.ResumeRedraw

--  作者:温馨的大树
--  发布时间:2020/2/21 12:46:00
--  
谢谢,前面的问题解决了,有个新的问题需要咨询继续一下你了!
1、如果字符串去掉文字、符号等只保留数字,格式代码是什么呢?
2、如果字符串去掉数字、符号等只保留文字,格式代码是什么呢?
3、把其中一列包含文字、数字、符号的字符串,拆分成两列,其中数字一列,文字和符号作为另外一列,需要怎么操作呢?

--  作者:有点蓝
--  发布时间:2020/2/21 14:02:00
--  
Dim pattern As String = "[^\\d+]"
Dim pattern2 As String = "\\d+"
CurrentTable.StopRedraw
For Each r As Row In CurrentTable.Rows
    Dim txt As String = r("实收金额")
    r("实收金额") = System.Text.RegularExpressions.Regex.Replace(txt, pattern ,"")
    r("另一列") = System.Text.RegularExpressions.Regex.Replace(txt, pattern2 ,"")
Next
CurrentTable.save
CurrentTable.ResumeRedraw