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


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

主题:字符串的问题

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


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

哈哈,加上红色的部分不就行了吗?

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) = False Then
            s = s & d
        End If
        dr("第二列") = s
       Next
Next

另,单字符判断,用下面的知识更好:

单字符判断

类型Char型提供了很多共享方法,用于判断某个字符类别,例如判断某个字符是否是数字:

If Char.IsDigit("1") Then
    Mess
agebox.Show("这是一个数字!")
End
If

 

部分判断函数:

函数 说明
IsControl  判断指定的字符是否属于控制字符类别。
IsDigit 判断指定的字符是否属于十进制数字类别。
IsLetter  判断指定的字符是否属于字母类别。
IsLetterOrDigit 判断指定的字符是属于字母类别还是属于十进制数字类别。
IsLower  判断指定的字符是否属于小写字母类别。
IsNumber 判断指定的字符是否属于数字类别。
IsPunctuation 判断指定的字符是否属于标点符号类别。
IsSeparator  判断指定的字符是否属于分隔符类别。
IsSymbol 判断指定的字符是否属于符号字符类别。
IsUpper 判断指定的字符是否属于大写字母类别。
IsWhiteSpace 判断指定的字符是否属于空白类别。

[此贴子已经被作者于2009-5-18 10:40:48编辑过]

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


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

呵呵,学习了!另,这里单字符判断是不是不好用啊?昨天我也曾想过用Char的,只是不明白

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


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

按21楼的代码,做出来全是零,怎么回事?

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


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

以下是引用yangming在2009-5-18 11:02:00的发言:
呵呵,学习了!另,这里单字符判断是不是不好用啊?昨天我也曾想过用Char的,只是不明白


数字的:

Dim s As String
Dim i As Integer
Dim v As String
For Each dr As DataRow In DataTables("表A").DataRows
    s = ""
    For i = 0 to Len(dr("第一列"))-1
        v = dr("第一列").SubString(i,1)
        if Char.IsDigit(v) Then
            s = s & v
        End If
        dr("第二列") = s
       Next
Next

非数字的:

Dim s As String
Dim i As Integer
Dim v As String
For Each dr As DataRow In DataTables("表A").DataRows
    s = ""
    For i = 0 to Len(dr("第一列"))-1
        v = dr("第一列").SubString(i,1)
        if Char.IsDigit(v) = False Then
            s = s & v
        End If
        dr("第二列") = s
       Next
Next

[此贴子已经被作者于2009-5-18 11:13:36编辑过]

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


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

以下是引用yangming在2009-5-18 11:10:00的发言:
按21楼的代码,做出来全是零,怎么回事?

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) = False Then
            s = s & dr("第一列").SubString(i,1)
        End If
        dr("第二列") = s
       Next
Next

还是24楼的好。


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


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

收藏,学习!

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2009/5/19 20:53:00 [只看该作者]

迷上字符串了,也来一个另类思路的:(借助八婺老师的例子)~ 繁琐了些,但也可达到目的。

for h as integer = 0 to currenttable.count-1
    currenttable(h,"第三列") = nothing
    dim sz as string = "0123456789"
    Dim dr As string = currenttable(h,"第一列")
    for i as integer = 0 to dr.length-1
        for i1 as integer = 0 to 9
            if dr(i) = sz(i1) then
                dr = dr.Replace("" & dr(i) & "","§")
                output.show(dr)
                currenttable(h,"第三列") = dr.trim("","§")
           End If
        next
    next
next

For  r As integer = 0 to Currenttable.count -1
    Currenttable(r,"第三列")  = Currenttable(r,"第三列").replace("§","")
Next

[此贴子已经被作者于2009-5-19 20:54:01编辑过]

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


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

速度最快是那种代码啊?可以用动态表达式生成吗?
[此贴子已经被作者于2009-5-22 17:12:46编辑过]

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