Foxtable(狐表)用户栏目专家坐堂 → 求正则表达式帮我处理字符


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

主题:求正则表达式帮我处理字符

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


加好友 发短信
等级:小狐 帖子:341 积分:5367 威望:0 精华:0 注册:2019/1/1 15:53:00
  发帖心情 Post By:2022/2/12 17:32:00 [显示全部帖子]

可以参考一下:

 

’代码如下

Dim s As String="ABC12个,黄皮椒8斤,螺丝椒2斤,西红柿50斤花菜122个,香芹102斤,蒜苗2斤,青瓜2斤,白菜1个,白萝卜1个,胡萝卜2斤,苦菊半斤,小葱半斤,蒜米一包"
Dim p As String = "(\d+.?,{0,1})"
Dim r As New System.Text.RegularExpressions.Regex(p)
Dim jg = System.Text.RegularExpressions.regex.replace(s,p,"=$1",RegexOptions.IgnoreCase)
Dim jg2 = jg.split(",")
For i As Integer = 0 To jg2.length-1
    output.Show(jg2(i))
Next

 

 

'运行结果如下:

ABC=12个
黄皮椒=8斤
螺丝椒=2斤
西红柿=50斤花菜=122个
香芹=102斤
蒜苗=2斤
青瓜=2斤
白菜=1个
白萝卜=1个
胡萝卜=2斤
苦菊半斤
小葱半斤
蒜米一包

 

截图如下:



此主题相关图片如下:正则表达式分离数据_2022-02-12_172940.jpg
按此在新窗口浏览图片

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


加好友 发短信
等级:小狐 帖子:341 积分:5367 威望:0 精华:0 注册:2019/1/1 15:53:00
  发帖心情 Post By:2022/2/12 17:41:00 [显示全部帖子]

因为源字符串中,有一个项目没有逗号,如:结果没有【西红柿50斤花菜122个】,所以拆分后的结果虽然正确,但两个结果在一行

解决方案如下:(当然,更改源串增加一个分隔符,也是可以的)

 


图片点击可在新窗口打开查看此主题相关图片如下:正则表达式分离数据_2022-02-12_172940_02.jpg
图片点击可在新窗口打开查看

注:源字符串中,有的不是数字,而是汉字,如: 【小葱半斤】,如果是【 小葱0.5斤】就更好了!


 回到顶部