Foxtable(狐表)用户栏目专家坐堂 → 提取后10位字符


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

主题:提取后10位字符

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


加好友 发短信
等级:九尾狐 帖子:2705 积分:18035 威望:0 精华:0 注册:2013/4/9 10:41:00
提取后10位字符  发帖心情 Post By:2018/11/27 11:13:00 [只看该作者]

能帮忙看看这个吗?
就是提取列后面10位为文字的字符 
现在就是还能会把“】”符号提取出来,能帮忙改一下吗?就是改为只提取文字字符,其他都不要 什么逗号,括号 空格,都跳过。


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20181127111212.jpg
图片点击可在新窗口打开查看

If e.DataCol.Name = "文件夹编号转换_商品名称" Then
    Dim Oldstr As String =e.DataRow("文件夹编号转换_商品名称")
    Dim Newstr As String = ""
    For i As Integer = Oldstr.Length - 1 To 0 Step - 1
        If Asc(Oldstr.Chars(i)) < 0  AndAlso Newstr.Length < 10 Then
            Newstr = Oldstr(i) & Newstr
        End If
    Next
    Newstr = "" & NewStr &  ""
    'e.DataRow("第六列")
    e.DataRow("文件夹编号转换_后10位字符")="" & Newstr & ""
End If

[此贴子已经被作者于2018/11/27 11:15:11编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/27 12:17:00 [只看该作者]

If e.DataCol.Name = "文件夹编号转换_商品名称" Then
    Dim Oldstr As String =e.DataRow("文件夹编号转换_商品名称")
    Dim Newstr As String = ""
    For i As Integer = Oldstr.Length - 1 To 0 Step - 1
        If Asc(StrToNarrow(Oldstr.Chars(i))) < 0  AndAlso Oldstr.Chars(i) <> "" AndAlso Newstr.Length < 10 Then
            Newstr = Oldstr(i) & Newstr
        End If
    Next
    Newstr = "" & NewStr &  ""
    'e.DataRow("第六列")
    e.DataRow("文件夹编号转换_后10位字符")="" & Newstr & ""
End If

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


加好友 发短信
等级:九尾狐 帖子:2705 积分:18035 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2023/2/6 11:18:00 [只看该作者]

老师 可以这样判断吗?
判断 文件夹编号转换_商品名称这一列的第一个非字符,然后在把非字符的这边放到第二列,右边的字符放到第三列。

比如:  螺丝M30*5  然后螺丝(文字部分)放到第二列,M30*5(这里也有可能是φ等符号),放到第三列。
感谢 感谢 

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109682 积分:558114 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/2/6 11:29:00 [只看该作者]

Dim pattern As String = "[\u4e00-\u9fa5]"
Dim txt As String = "螺丝M30*5"
Dim str = System.Text.RegularExpressions.Regex.Replace(txt , pattern , "")
Output.Show(str)
Dim 中文 As String = txt.Replace(str, "")
Output.Show(中文)

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


加好友 发短信
等级:九尾狐 帖子:2705 积分:18035 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2023/2/6 12:13:00 [只看该作者]

老师 可以是先判断 这边的第一个文字吗?然后在执行文字的左边分一列,文字的右边分一列。不管右边还要文字没有,都放到右边,就以第一个字符为分界线。感谢 感谢 

图片点击可在新窗口打开查看此主题相关图片如下:1675656704402.png
图片点击可在新窗口打开查看

Dim pattern As String = "[\u4e00-\u9fa5]"
Dim txt As String = e.DataRow("文件夹编号转换_商品名称")
Dim str = System.Text.RegularExpressions.Regex.Replace(txt , pattern , "")
e.DataRow("英文") = System.Text.RegularExpressions.Regex.Replace(txt , pattern , "")
e.DataRow("中文") = txt.Replace(str, "")
[此贴子已经被作者于2023/2/6 12:15:19编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109682 积分:558114 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/2/6 13:32:00 [只看该作者]

 第一个字符指什么?第一个非中文字符?

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


加好友 发短信
等级:九尾狐 帖子:2705 积分:18035 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2023/2/6 13:36:00 [只看该作者]

对对对,我说错了 ,是一个非中文字符为接线,然后这个非中文字符的前面放一列,非中文字符和后面的非中文字符放一列。感谢老师

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109682 积分:558114 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/2/6 13:51:00 [只看该作者]

Dim pattern As String = "[^\u4e00-\u9fa5]"
Dim txt As String = "发顺丰螺丝911发光飞碟跟M30*5"
Dim r As New System.Text.RegularExpressions.Regex(pattern)
Dim str() As String = r.Split(txt)
Dim 中文 As String = str(0)
Output.Show(中文)
Dim a As String = txt.Substring(中文.Length)
pattern = "[\u4e00-\u9fa5]"
a = System.Text.RegularExpressions.Regex.Replace(a , pattern , "")
Output.Show(a)

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


加好友 发短信
等级:九尾狐 帖子:2705 积分:18035 威望:0 精华:0 注册:2013/4/9 10:41:00
  发帖心情 Post By:2023/2/6 14:11:00 [只看该作者]

谢谢老师 ,可以把右边的中文也显示出来吗 ?
就是比如 Dim txt As String = "发顺丰螺丝911发光飞碟跟M30*5"   
中文显示:发顺丰螺丝

英文显示:911发光飞碟跟M30*5"    就是找出一个分界线(这个分界线以第一个非字符的前面为分界线) 分隔成两段,其他的什么都不用变,感谢老师 再麻烦麻烦你 感谢  
[此贴子已经被作者于2023/2/6 14:15:54编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:109682 积分:558114 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/2/6 14:17:00 [只看该作者]

去掉选下面代码
pattern = "[\u4e00-\u9fa5]"
a = System.Text.RegularExpressions.Regex.Replace(a , pattern , "")

 回到顶部