以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]替换数字中的错误小数点 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=117148) |
-- 作者:天一生水 -- 发布时间:2018/4/7 21:01:00 -- [求助]替换数字中的错误小数点 怎样替换数值中错误的小数点,有的是句号"。"、有的是全角"."。 比如:29844。9406%; 2.556 ; 但要保留中文字符中的句号。 Dim str As String = "你好。29844。9406%" Dim mc = System.Text.RegularExpressions.Regex.Matches(str, " ") msgbox(mc.count) 结果为:"你好。29844.9406%"
|
-- 作者:wyz20130512 -- 发布时间:2018/4/7 22:29:00 -- Dim str As String = "你好。29844。9406% Foxtable。44。97" For i As Integer = 1 to str.length - 1 If str.Chars(i) = "。" And IsNumeric(str.Chars(i-1)) Then msgbox("找到了!是第" & i+1 & "个字符" ) str = str.remove(i,1).insert(i,".") End If Next Output.Show(str) 你好。29844.9406% Foxtable。44.97
[此贴子已经被作者于2018/4/7 22:35:50编辑过]
|
-- 作者:天一生水 -- 发布时间:2018/4/7 22:40:00 -- 谢谢朋友! 好几个点看不懂,向高手学习!
|
-- 作者:有点甜 -- 发布时间:2018/4/8 8:59:00 -- \'\'\' Dim str As String = "你好。29844。9406% Foxtable。44。97" str = System.Text.RegularExpressions.Regex.replace(str, "(?<=[0-9])。(?=[0-9])", ".") msgbox(str) |
-- 作者:天一生水 -- 发布时间:2018/4/8 9:34:00 -- 谢谢老师! 如果同时再替换全角".",是不是这样? Dim str As String = "你好。29844。9406% Foxtable。44。97"\'\'\' str = System.Text.RegularExpressions.Regex.replace(str, "(?<=[0-9])。(?=[0-9])", ".").replace(str, "(?<=[0-9]).(?=[0-9])", ".") msgbox(str) |
-- 作者:有点甜 -- 发布时间:2018/4/8 10:42:00 -- \'\'\' Dim str As String = "你好。29844。9406% Foxtable。44。。.97" str = System.Text.RegularExpressions.Regex.replace(str, "(?<=[0-9])[。.]+(?=[0-9])", ".") msgbox(str) |