以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 怎样删除掉字符中的中英文字符只留数字? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=40544) |
-- 作者:mamuaiqing -- 发布时间:2013/9/23 2:55:00 -- 怎样删除掉字符中的中英文字符只留数字? 如题,比如在命令窗口中Dim s As String ="删除中文abc123efg" |
-- 作者:y2287958 -- 发布时间:2013/9/23 6:06:00 -- 循环判断 [此贴子已经被作者于2013-9-23 6:09:10编辑过]
|
-- 作者:东坡一剑 -- 发布时间:2013/9/23 6:46:00 -- 我的办法笨一点,你可以参考,希望专家还有更好的办法:
Dim s As String ="删除中文abc123efg" dim lst as new list (Of string) for i as integer = 0 to s.length - 1 lst.add(s.substring(i,1) next for i as integer = 0 to lst.count - 1 if char.isdigit(lst(i)) then s = s & lst(i) end if next s = s.trim() |
-- 作者:lsy -- 发布时间:2013/9/23 7:22:00 -- Dim Oldstr As String ="删除中文abc123efg" Dim Newstr As String For Each s As String In Oldstr If Char.IsDigit(s) Then Newstr + = s End If Next Output.Show(Newstr) |
-- 作者:Bin -- 发布时间:2013/9/23 9:04:00 -- Dim s As String ="删除中文abc123efg" s=RegularExpressions.Regex.Match(s,"\\d+").value Output.Show(s)
|
-- 作者:lsy -- 发布时间:2013/9/23 9:28:00 -- 以下是引用Bin在2013-9-23 9:04:00的发言:
Dim s As String ="删除中文abc123efg"
s=RegularExpressions.Regex.Match(s,"\\d+").value
Output.Show(s) 还是表达式简洁,不过得费一番功夫,才能领会、熟练。 |
-- 作者:mamuaiqing -- 发布时间:2013/9/23 15:33:00 -- 以下是引用lsy在2013-9-23 9:28:00的发言:
还是表达式简洁,不过得费一番功夫,才能领会、熟练。 呵呵,确实是,没学习过RegularExpressions看不懂代码意思,感谢各位老师的帮助 |