如何用正则表达替换内容

weixin_44039547 2021-02-16 12:47:58
...全文
370 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
mjzxlmg 2021-03-10
  • 打赏
  • 举报
回复
引用 3 楼 weixin_44039547 的回复:
[quote=引用 1 楼 兔子党逍遥 的回复:](0|\d{1,2}|100)(\d+)\s+d\(\2\)=(\w+) 分别取三个分组(1,2,3)对应:分数,学号,姓名
我用vb写过,但是在vb.net里不知道该怎么表达了 D(101)=武大郎是一个字典,不是数据的一部分,数据只有左边那一列 我是想实现逐行匹配,然后根据字典替换掉学号 1===dim aaa as string = 读入一行数据aaa,这一步已经弄好主要是下面的代码不会写 2===设置表达式(\d{2,3})(\d{2,3}) 3===if aaa与表达式匹配 then 将返回的第二个值(学号)作为key在字典d里查找姓名 将返回的第一个值存入数组arr(0),姓名存入数组arr(1) end if 大概就是这么一个过程[/quote] 先判断字符串是否为数字,然后分割前两位为分数,后面的为学号
weixin_44039547 2021-02-16
  • 打赏
  • 举报
回复
引用 1 楼 兔子党逍遥 的回复:
(0|\d{1,2}|100)(\d+)\s+d\(\2\)=(\w+)
分别取三个分组(1,2,3)对应:分数,学号,姓名

我用vb写过,但是在vb.net里不知道该怎么表达了
D(101)=武大郎是一个字典,不是数据的一部分,数据只有左边那一列
我是想实现逐行匹配,然后根据字典替换掉学号
1===dim aaa as string = 读入一行数据aaa,这一步已经弄好主要是下面的代码不会写
2===设置表达式(\d{2,3})(\d{2,3})
3===if aaa与表达式匹配 then
将返回的第二个值(学号)作为key在字典d里查找姓名
将返回的第一个值存入数组arr(0),姓名存入数组arr(1)
end if
大概就是这么一个过程
兔子-顾问 2021-02-16
  • 打赏
  • 举报
回复
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim str As String = "9901     d(01)=张三
88101    d(101)=武大郎
adsfd
放大放大"
        Dim mc As System.Text.RegularExpressions.MatchCollection = System.Text.RegularExpressions.Regex.Matches(str, "(0|\d{1,2}|100)(\d+)\s+d\(\2\)=(\w+)")
        For Each m As System.Text.RegularExpressions.Match In mc
            MessageBox.Show("姓名:" + m.Groups(3).Value + Environment.NewLine + "学号:" + m.Groups(2).Value + Environment.NewLine + "分数:" + m.Groups(1).Value)
        Next
    End Sub
兔子-顾问 2021-02-16
  • 打赏
  • 举报
回复
(0|\d{1,2}|100)(\d+)\s+d\(\2\)=(\w+) 分别取三个分组(1,2,3)对应:分数,学号,姓名

16,555

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧