以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]单元格多行文本处理 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=138366) |
-- 作者:天一生水 -- 发布时间:2019/7/29 20:09:00 -- [求助]单元格多行文本处理 将左侧单元格多行内容,转换为右侧的效果,就是去掉红框内的文字。 1、如果“委托代理人”不在句首,去掉“委托代理人”前面的字; 2、如果“委托代理人”在句首,去掉括号及其内的字。 \'\'\' If e.DataCol.name = "原告" Then Dim lst As List (of String) = e.DataRow.Lines("原告") For Each ls As String In lst If ls.Contains("委托代理人") And ls.StartsWith("委托代理人") = False Then \'包含“委托代理人”,但不在句首 Dim i1 = ls.indexOf("委托代理人") \'出现的位置 ls = ls.Remove(0, i1+1) \'去掉前面的字 ...... ElseIf ls.StartsWith("委托代理人") = True And ls.Contains("(") And ls.Contains(")") Then \'句首包含“委托代理人”,并且包含括号 Dim i1 = ls.indexOf("(") \'括号开始位置 Dim i2 = ls.indexOf(")") \'括号结束位置 ls = ls.Remove(i1, i2-i1+1) \'清除括号内容 ...... End If Next End If [此贴子已经被作者于2019/7/29 20:45:08编辑过]
|
-- 作者:有点蓝 -- 发布时间:2019/7/29 21:17:00 -- \'\'\' If e.DataCol.name = "原告" Then Dim lst As List (of String) = e.DataRow.Lines("原告") Dim lst1 As new List (of String) For Each ls As String In lst If ls.Contains("委托代理人") And ls.StartsWith("委托代理人") = False Then \'包含“委托代理人”,但不在句首 Dim i1 = ls.indexOf("委托代理人") \'出现的位置 ls = ls.Remove(0, i1+1) \'去掉前面的字 ...... ElseIf ls.StartsWith("委托代理人") = True And ls.Contains("(") And ls.Contains(")") Then \'句首包含“委托代理人”,并且包含括号 Dim i1 = ls.indexOf("(") \'括号开始位置 Dim i2 = ls.indexOf(")") \'括号结束位置 ls = ls.Remove(i1, i2-i1+1) \'清除括号内容 ...... End If lst1.add(ls) Next e.DataRow.Lines("原告") = lst1 End If
|