Foxtable(狐表)用户栏目专家坐堂 → 如何用正则替换掉小数点后全部为0的字符?


  共有4238人关注过本帖树形打印复制链接

主题:如何用正则替换掉小数点后全部为0的字符?

帅哥哟,离线,有人找我吗?
苍风霁月
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:704 积分:7064 威望:0 精华:0 注册:2012/11/4 23:10:00
如何用正则替换掉小数点后全部为0的字符?  发帖心情 Post By:2014/4/1 10:28:00 [只看该作者]

如5.0g,5.00g,5.000g.....全部整成5g,而5.04g这类数据不变?
[此贴子已经被作者于2014-4-1 10:32:42编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
lsy
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2014/4/1 10:36:00 [只看该作者]

在数值列中,本来就是你要求的显示方式。

 回到顶部
帅哥哟,离线,有人找我吗?
苍风霁月
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:704 积分:7064 威望:0 精华:0 注册:2012/11/4 23:10:00
  发帖心情 Post By:2014/4/1 10:37:00 [只看该作者]

全部是在字符串中的


 回到顶部
帅哥哟,离线,有人找我吗?
lsy
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2014/4/1 10:41:00 [只看该作者]

DataColChanged

If e.DataCol.Name = "第四列" AndAlso e.DataRow.IsNull(e.DataCol) = False Then
    e.DataRow(e.DataCol) = Val(e.DataRow(e.DataCol))
End If

 

 

If e.DataCol.Name = "第四列" AndAlso e.DataRow.IsNull(e.DataCol) = False Then
    e.DataRow(e.DataCol) = Val(e.DataRow(e.DataCol).Split("g")(0)) & "g"
End If

[此贴子已经被作者于2014-4-1 10:54:54编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/4/1 10:45:00 [只看该作者]

Dim data As String = "2.250g"
Dim reg As new System.Text.RegularExpressions.Regex("[0]+g{1}|\.{1}[0]+g{1}")
Dim result = reg.Replace(data, "")
msgbox(result)

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/4/1 10:46:00 [只看该作者]

Dim str As String = "5.000000040"
Dim s As String = System.Text.RegularExpressions.Regex.match(str,"[0-9.]+[1-9.]+").Tostring()
MessageBox.show(s.trim("."))

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/4/1 10:51:00 [只看该作者]

Dim str As String = "5.000000400g"

Dim s As String = System.Text.RegularExpressions.Regex.match(str,"[0-9.]+[1-9.]+").Tostring()

MessageBox.show(s.trim(".") & "g")


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/4/1 10:53:00 [只看该作者]

或者

 

Dim data As String = "2.250g, 9.800g,1.000g"
Dim reg As new System.Text.RegularExpressions.Regex("[0]+(?=g{1})|\.{1}[0]+(?=g{1})")
Dim result = reg.Replace(data, "")
msgbox(result)


 回到顶部
帅哥哟,离线,有人找我吗?
lsy
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2014/4/1 10:58:00 [只看该作者]

正则表达式,确实是好。

如果没掌握,就没办法灵活运用,老得指望别人。

狐表的代码,可以活学活用。


 回到顶部