Foxtable(狐表)用户栏目专家坐堂 → [求助]清除文本空行、断行


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

主题:[求助]清除文本空行、断行

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


加好友 发短信
等级:五尾狐 帖子:1141 积分:11272 威望:0 精华:0 注册:2017/9/26 16:30:00
[求助]清除文本空行、断行  发帖心情 Post By:2018/12/17 22:18:00 [显示全部帖子]

老师好!
请教文本整理的问题:
具体如下:
读取word后,查找段落的最后一个字符(不包括段落标记)不是     。:……?)    的,
则选中该字符及紧接该字符后面的所有回车符(段落标记)。
并将其后面的所在段落标记删除。

如图,清除空行和断行后,应该只有两段:

图片点击可在新窗口打开查看此主题相关图片如下:image 1.png
图片点击可在新窗口打开查看

请老师帮助完善清除断行、空行的代码:
Dim app As New MSWord.Application
try
    Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog
    dlg.Filter= "Word文件|*.doc" '设置筛选器
    If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮      
        Dim doc = app.Documents.Open(dlg.FileName)
        Dim count = Doc.Characters.Count
        Dim rng As MSWord.Range = Doc.Range(Start:=0, End:=count)
        
        'msgbox(rng.Text)
        Dim str As String = rng.text
        'Dim ary() = str.replace(chr(10), "").split(new Char() {chr(13),chr(11)})      '清除段落空行--此代码无效
        'msgbox(str)
        e.Form.Controls("TextBox1").text = str.replace(chr(13),vbcrlf)      '读取word后,换行符chr(10)丢失
        ......

        app.Quit
    End If
catch ex As exception
    msgbox(ex.message)
    app.Quit    
End try
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试文本整理.rar



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


加好友 发短信
等级:五尾狐 帖子:1141 积分:11272 威望:0 精华:0 注册:2017/9/26 16:30:00
  发帖心情 Post By:2018/12/18 13:51:00 [显示全部帖子]

老师好!

我测试结果成一段了。原因是:

    str  = str.replace("。" & chr(13),"。" & vbcrlf)
    str  = str.replace(chr(13),"")

运行这两句代码以后,硬回车chr(13)+chr(10)最后变成chr(10)了,也没有分成段落。

另外,与“。”情况相同的“......”、“:”,怎样在代码中一并考虑呢?

 


 回到顶部