Foxtable(狐表)用户栏目专家坐堂 → 字符串的问题


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

主题:字符串的问题

帅哥哟,离线,有人找我吗?
don
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1812 积分:12993 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2009/5/17 17:55:00 [只看该作者]

以下是引用lxl在2009-5-17 17:26:00的发言:

用的是正则表达式的Replace的方法。
这个用法和字符串的Replace方法差不多。

Return System.Text.RegularExpressions.Regex.Replace("Asd23df23df","[\D]","")
Asd23df23df  是原字符串
[\D] 表示原字符中的非数字   
语句的意思就是把原字符串中的不是数字的字符替换为空白。

写到某列中就是:

 下载信息  [文件大小:308.0 KB  下载次数:3]
图片点击可在新窗口打开查看点击浏览该文件:管理项目10.table

学习!不过不应该去掉小数点吧?“abc123.8”应该为123.8


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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:858 积分:6071 威望:0 精华:19 注册:2008/9/1 9:13:00
  发帖心情 Post By:2009/5/17 18:15:00 [只看该作者]

不去掉小数点,负号的
Return System.Text.RegularExpressions.Regex.Replace("abc-123.8","[^\d.-]","")


不过,正则表达式比较繁琐。不学习也可以,像3楼一样,用别的方法也能解决问题

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


加好友 发短信
等级:幼狐 帖子:186 积分:1931 威望:0 精华:0 注册:2008/9/23 22:10:00
  发帖心情 Post By:2009/5/18 1:11:00 [只看该作者]

都是高手,代码一个比一个简单,那我想相反的呢,即取非数字,如AB123C,我想筛选ABC到另一列,数字123不要,这个有办法吗?


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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:858 积分:6071 威望:0 精华:19 注册:2008/9/1 9:13:00
  发帖心情 Post By:2009/5/18 8:45:00 [只看该作者]

Return System.Text.RegularExpressions.Regex.Replace("Asd23df23df","[\D]","")   是排除非数字
Return System.Text.RegularExpressions.Regex.Replace("Asd23df23df","[\d]","")   是排除数字

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


加好友 发短信
等级:管理员 帖子:47448 积分:251060 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/5/18 8:48:00 [只看该作者]

呵呵,正则表达式就是神奇

 回到顶部
美女呀,离线,留言给我吧!
yangming
  16楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/5/18 9:06:00 [只看该作者]

正则表达式我可看不懂啊

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


加好友 发短信
等级:管理员 帖子:47448 积分:251060 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/5/18 9:10:00 [只看该作者]

以下是引用yangming在2009-5-18 9:06:00的发言:
正则表达式我可看不懂啊


嘿嘿,我也看不懂。


 回到顶部
美女呀,离线,留言给我吧!
yangming
  18楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/5/18 9:17:00 [只看该作者]

贺老师,那如果不用正则表达式,如何筛选ABC到另一列?昨天我用八愗老师的方法试了,不行,因为String类型没有TryParse方法

 


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


加好友 发短信
等级:管理员 帖子:47448 积分:251060 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/5/18 9:22:00 [只看该作者]

以下是引用yangming在2009-5-18 9:17:00的发言:

贺老师,那如果不用正则表达式,如何筛选ABC到另一列?昨天我用八愗老师的方法试了,不行,因为String类型没有TryParse方法

 


我不知道前因后果,不明白你的问题,重新表述一下看看。


 回到顶部
美女呀,离线,留言给我吧!
yangming
  20楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/5/18 9:41:00 [只看该作者]

这是五楼八愗老师的代码,用此可以选出数值,但是我按此代码选择字符就不行了,就是String类型没有TryParse方法
Dim s As String
Dim i As Integer
Dim d As Double
For Each dr As DataRow In DataTables("表A").DataRows
    s = ""
    For i = 0 to Len(dr("第一列"))-1
        if Double.TryParse(dr("第一列").SubString(i,1),d) Then
            s = s & d
        End If
        dr("第二列") = s
       Next
Next
[此贴子已经被作者于2009-5-18 9:44:20编辑过]

 回到顶部
总数 28 上一页 1 2 3 下一页