以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]怎样去除单元格中的数字字母符号 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=125307) |
||||
-- 作者:qjm107 -- 发布时间:2018/9/25 22:48:00 -- [求助]怎样去除单元格中的数字字母符号 各位专家们 现在我想请教,在我上传的附件中,混杂地址列含有字母数字及其他符号,怎样在对应的全新地址列中,把混杂地址中的字母数字符号全部去除,只保留汉字?
|
||||
-- 作者:qjm107 -- 发布时间:2018/9/25 22:49:00 -- 各位专家们 现在我想请教,在我上传的附件中,混杂地址列含有字母数字及其他符号,怎样在对应的全新地址列中,把混杂地址中的字母数字符号全部去除,只保留汉字?
|
||||
-- 作者:有点蓝 -- 发布时间:2018/9/25 23:13:00 -- datacolchanged事件 If e.DataCol.Name = "混杂地址" Then If e.NewValue > "" Then Dim pattern As String = "[^[\\u4e00-\\u9fa5]*]*" e.DataRow("全新地址") = System.Text.RegularExpressions.Regex.Replace(e.NewValue, pattern ,"") Else e.DataRow("全新地址") = Nothing End If End If |
||||
-- 作者:qjm107 -- 发布时间:2018/9/30 21:21:00 -- 有点蓝 你好,请问上面代码中的^[\\u4e00-\\u9fa5]*表示什么?
|
||||
-- 作者:有点甜 -- 发布时间:2018/10/4 10:47:00 -- 以下是引用qjm107在2018/9/30 21:21:00的发言:
有点蓝
你好,请问上面代码中的^[\\u4e00-\\u9fa5]*表示什么?
表示中文字符的一个集合
http://caibaojian.com/zhongwen-regexp.html
https://baike.baidu.com/item/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F/1700215?fr=aladdin
|
||||
-- 作者:qjm107 -- 发布时间:2018/10/8 22:06:00 -- 谢谢你,知道了,但现在我又有一个新问题了,如在我上传的附件的表B中,有“价格”“价格数字”两列,怎样把价格中的汉字去掉,也就是只把价格中的数字提取出来,相应地放入“价格数字”一列,我写的代码如下,但却实现不了,请问错误出在哪儿?
If e.DataCol.Name = "价格" Then If e.NewValue > "" Then Dim pattern As String = "[^\\x00-\\xff]" e.DataRow("价格数字") = System.Text.Select.Substring(e.NewValue, pattern ,"") Else e.DataRow("价格数字") = Nothing End If End If |
||||
-- 作者:qjm107 -- 发布时间:2018/10/8 22:10:00 -- 代码也是写入datacolchanged事件中的 |
||||
-- 作者:有点蓝 -- 发布时间:2018/10/8 22:14:00 -- Dim pattern As String = "[\\u4e00-\\u9fa5]" |
||||
-- 作者:qjm107 -- 发布时间:2018/10/8 22:28:00 -- 你好,有点甜,在我上传的附件的表C中,有“价格”“价格数字”——“元”“角”“分”多层表头的三列,请问怎样把价格列中的数字,对应的提取到元角分列中?我模仿
写出的代码如下,但结果出不来,请问错误在哪儿? For Each r As Row In Tables("表C").rows If r.isnull("价格") = False Dim s As String = r("价格") Dim p1 As String = "[""].*元" Dim p2 As String = "[元].*角" Dim p3 As String = "[角].*分" Dim rgx = new System.Text.RegularExpressions.Regex(p1,p2, p3, System.Text.RegularExpressions.RegexOptions.IgnoreCase) Dim res As String = rgx.Match(s).Value r("价格数字_元") = res.Replace("","").Replace("元","") r("价格数字_角") = res.Replace(""元"").Replace("角","") r("价格数字_分") = res.Replace(""角"").Replace("分","") End If
Next |
||||
-- 作者:有点蓝 -- 发布时间:2018/10/8 22:45:00 -- Dim s As String = "3元5角2分" Dim ar() As String = s.Split(new Char(){"元","角","分"}) msgbox(ar(0)) msgbox(ar(1)) msgbox(ar(2))
|