Foxtable(狐表)用户栏目专家坐堂 → 请教在字符串中提取特定文字


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

主题:请教在字符串中提取特定文字

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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/10/23 14:12:00 [显示全部帖子]

 截取字符串这样,剩下的,楼主要自己努力咯。

Dim data As String = "福建阿里上看到附件sdkfj零壹贰叁肆伍陆柒捌玖/吨控件"
Dim catchs As New System.Text.RegularExpressions.Regex("[\u96f6\u58f9\u8d30\u53c1\u8086\u4f0d\u9646\u67d2\u634c\u7396]+(/\u5428){1}")
Dim mc As System.Text.RegularExpressions.MatchCollection = catchs.Matches(data)
If mc.Count <> 0 Then
    msgbox(mc(0).Value.SubString(0, mc(0).Value.IndexOf("/")))
End If
[此贴子已经被作者于2012-10-23 14:24:25编辑过]

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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/10/24 11:56:00 [显示全部帖子]

 呃……代码这样写。测试有效。

For Each dr As DataRow In DataTables("表A").DataRows
    Dim data As String = dr("第一列")
    Dim catchs As New System.Text.RegularExpressions.Regex("[\u96f6\u58f9\u8d30\u53c1\u8086\u4f0d\u9646\u67d2\u634c\u7396]+(/\u5428){1}")
    Dim mc As System.Text.RegularExpressions.MatchCollection = catchs.Matches(data)
    If mc.Count <> 0 Then
        Dim val As String = mc(0).Value.SubString(0, mc(0).Value.IndexOf("/"))  '得到的大写数值
        Dim chs As String = "零壹贰叁肆伍陆柒捌玖"
        Dim nbs As String = "0123456789"

        Dim num As Double = 0
        Select Case val.Length
            Case 1
                num = nbs(chs.IndexOf(val)).ToString() * 100
            Case Else
                If val(0) = "零" Then
                    For i As Integer = 1 To val.Length - 1
                        num = num + nbs(chs.IndexOf(val(i))).ToString() * 10 ^ (2-i)
                    Next
                Else
                    For i As Integer = 0 To val.Length - 1
                        num = num + nbs(chs.IndexOf(val(i))).ToString() * 10 ^ (val.Length-i)
                    Next
                End If
        End Select
        dr("第二列") = num
    End If
Next
[此贴子已经被作者于2012-10-24 12:00:46编辑过]

 回到顶部