以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 如何只保留字符串【】中的内容,其它内容全部删除呢? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=133444) |
-- 作者:李孝春 -- 发布时间:2019/4/14 12:13:00 -- 如何只保留字符串【】中的内容,其它内容全部删除呢? 执行代码一: Dim ab1 As DataRow= DataTables("信息模板").SQLFind("适用人员=\'案件承办人\'and 流程名称=\'审查逮捕\'") output.show(ab1("模板内容")) 得到: 【姓名】您好!【嫌疑人姓名】涉嫌【涉嫌案由】一案,【移送机关】于【受理日期】移送我院【流程名称】,根据系统轮案规则,现由你进行办理,请在【到期日期】前,办理完毕!有疑问请咨询案管办【案管办电话】!请参考:【法律法规】 执行代码二: Dim Parts() As String = ab1("模板内容").Split("】") For i As Integer = 0 To Parts.length -1 Output.Show(Parts(I)&"】") Next 得到: 【姓名】 您好!【嫌疑人姓名】 涉嫌【涉嫌案由】 一案,【移送机关】 于【受理日期】 移送我院【流程名称】 ,根据系统轮案规则,现由你进行办理,请在【到期日期】 前,办理完毕!有疑问请咨询案管办【案管办电话】 !请参考:【法律法规】 想达到的效果: 不管模板内容中有好多个【**】的内容,能够自动对应生成对应数量的【】内容 效果如下: 【嫌疑人姓名】 【涉嫌案由】 【移送机关】 【受理日期】 【流程名称】 【到期日期】 【案管办电话】 【法律法规】 [此贴子已经被作者于2019/4/14 12:19:06编辑过]
|
-- 作者:有点甜 -- 发布时间:2019/4/14 12:30:00 -- 这个意思?
Dim str As String = "【姓名】您好!【嫌疑人姓名】涉嫌【涉嫌案由】一案"
|
-- 作者:李孝春 -- 发布时间:2019/4/14 12:44:00 -- 回复:(有点甜)这个意思? Dim str As Str... 不是哦 是要拆分成如下:(有点甜老师 你的那是替换哦!) 【嫌疑人姓名】 【涉嫌案由】 【移送机关】 【受理日期】 【流程名称】 【到期日期】 【案管办电话】 【法律法规】
|
-- 作者:有点甜 -- 发布时间:2019/4/14 13:00:00 -- Dim str As String = "【姓名】您好!【嫌疑人姓名】涉嫌【涉嫌案由】一案" Dim mc = System.Text.RegularExpressions.Regex.Matches(str, "【.*?】") For i As Integer = 0 To mc.count-1 output.show(mc(i).value) Next |
-- 作者:wyz20130512 -- 发布时间:2019/4/15 11:03:00 -- 4楼(“有点甜”)老师的代码精简,但涉及“正则表达式”的知识,以下代码虽不精简,但纯属Foxtable知识点 Dim s As String = "【姓名】您好!【嫌疑人姓名】涉嫌【涉嫌案由】一案,【移送机关】于【受理日期】移送我院【流程名称】,根据系统轮案规则,现由你进行办理,请在【到期日期】前,办理完毕!有疑问请咨询案管办【案管办电话】!请参考:【法律法规】" Dim p1 As New List(Of Integer) Dim p2 As New List(Of Integer) For i As Integer = 0 To s.Length - 1 If s.Chars(i) = "【" Then p1.Add(i) ElseIf s.Chars(i) = "】" Then p2.Add(i) End If Next For j As Integer = 0 To p1.Count - 1 Output.Show(s.SubString(p1(j),p2(j)-p1(j)+1)) Next
|
-- 作者:wyz20130512 -- 发布时间:2019/4/15 11:43:00 -- \'再或利用字典的键值对获得每对方括号的位置也可。 Dim s As String = "【姓名】您好!【嫌疑人姓名】涉嫌【涉嫌案由】一案,【移送机关】于【受理日期】移送我院【流程名称】,根据系统轮案规则,现由你进行办理,请在【到期日期】前,办理完毕!有疑问请咨询案管办【案管办电话】!请参考:【法律法规】" Dim dic As New Dictionary(Of Integer,Integer),p As Integer For i As Integer = 0 To s.Length - 1 Select Case s.Chars(i) Case "【" p = i Case "】" dic(p) = i End Select Next For Each j As Integer In dic.Keys Output.Show(s.SubString(j,dic(j)-j+1)) Next
|