Foxtable(狐表)用户栏目专家坐堂 → [求助]单元格多行文本处理


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

主题:[求助]单元格多行文本处理

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


加好友 发短信
等级:五尾狐 帖子:1141 积分:11272 威望:0 精华:0 注册:2017/9/26 16:30:00
[求助]单元格多行文本处理  发帖心情 Post By:2019/7/29 20:09:00 [只看该作者]

将左侧单元格多行内容,转换为右侧的效果,就是去掉红框内的文字。
1、如果“委托代理人”不在句首,去掉“委托代理人”前面的字;
2、如果“委托代理人”在句首,去掉括号及其内的字。


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


'''
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编辑过]

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


加好友 发短信
等级:超级版主 帖子:111427 积分:567211 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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

 回到顶部