查看: 1042|回复: 10
打印 上一主题 下一主题

[求助] 如何在文本文件中删除大量表示格式的字符?

[复制链接]
  • TA的每日心情
    开心
    2023-2-7 14:54
  • 签到天数: 7 天

    [LV.3]偶尔看看II

    2

    主题

    16

    回帖

    211

    积分

    童生

    Rank: 2

    积分
    211
    跳转到指定楼层
    1
    发表于 2012-2-10 14:49:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
         提取的文本文件里除了希望得到的文本文字外,往往还带有大量表示格式的字符,干扰视线,占用空间,比如:<span style='font-size:16pt;font-weight:bold'>阿尔及利亚</span><br><table width='310' cellpadding='6' cellspacing='0' border='0'><tr><td colspan='2' height='3'></td></tr   。。。中间略。。。<td> <td>Algerian</td></tr><tr><td colspan='2' height='10'> </td></tr></table>","",""
           请教高人,< >内表示格式的字符,用什么方法或软件删除比较快捷方便,还不至于误删除想要的有用文本呢?多谢!
  • TA的每日心情
    开心
    2019-6-27 08:03
  • 签到天数: 8 天

    [LV.3]偶尔看看II

    40

    主题

    464

    回帖

    5430

    积分

    会元

    Rank: 7Rank: 7Rank: 7

    积分
    5430

    灌水大神章

    2
    发表于 2012-2-10 15:52:30 | 只看该作者
    用Uedit32,替换删除。超快,超好用。

    该用户从未签到

    4

    主题

    117

    回帖

    3254

    积分

    贡士

    Rank: 6Rank: 6

    积分
    3254

    灌水大神章小蜜蜂章笑傲江湖章

    3
    发表于 2012-2-10 19:19:55 | 只看该作者
    Vim, 一条命令全部搞定.
  • TA的每日心情
    开心
    2023-2-7 14:54
  • 签到天数: 7 天

    [LV.3]偶尔看看II

    2

    主题

    16

    回帖

    211

    积分

    童生

    Rank: 2

    积分
    211
    4
     楼主| 发表于 2012-2-11 12:24:12 | 只看该作者
    Vim, 一条命令全部搞定.
    viarm 发表于 2012-2-10 19:19

    您好,能指教一下在Vim中具体如何操作吗?使用哪项功能或命令?多谢!

    该用户从未签到

    4

    主题

    117

    回帖

    3254

    积分

    贡士

    Rank: 6Rank: 6

    积分
    3254

    灌水大神章小蜜蜂章笑傲江湖章

    5
    发表于 2012-2-11 14:49:43 | 只看该作者
    本帖最后由 viarm 于 2012-2-11 15:11 编辑

    :%s#<[^>]\+>##g
    你也可以按需要调整. 祝顺利. 请注意:
    -此命令不能对跨行tag操作;
    -格式本身最好先去嵌套且确保格式本身没有错误.
  • TA的每日心情
    开心
    2019-6-27 08:03
  • 签到天数: 8 天

    [LV.3]偶尔看看II

    40

    主题

    464

    回帖

    5430

    积分

    会元

    Rank: 7Rank: 7Rank: 7

    积分
    5430

    灌水大神章

    6
    发表于 2012-4-17 07:53:58 | 只看该作者
    实际上,你那个应该是网页文件,用网页浏览器打开文件,你所看见的就只有你想要的文本内容了,然后复制粘贴,更为简单。

    该用户从未签到

    3

    主题

    77

    回帖

    782

    积分

    禁止发言

    积分
    782
    7
    发表于 2012-4-17 12:25:48 | 只看该作者
    6# menglongma

    恐怕不行吧

    该用户从未签到

    3

    主题

    77

    回帖

    782

    积分

    禁止发言

    积分
    782
    8
    发表于 2012-4-17 12:26:42 | 只看该作者
    6# menglongma

    00目录 <link rel="stylesheet" href="style.css">\n\n<h2 id="contents">00目录</h2>\n\n    <ol>\n        <li><a href="bword://本文目标">本文目标</a></li><br>\n        <li><a href="bword://如何使用本教程">如何使用本教程</a></li><br>\n        <li><a href="bword://正则表达式到底是什么东西?">正则表达式到底是什么东西?</a></li><br>\n\n        <li><a href="bword://入门">入门</a></li><br>\n        <li><a href="bword://测试正则表达式">测试正则表达式</a></li><br>\n        <li><a href="bword://元字符">元字符</a></li><br>\n        <li><a href="bword://字符转义">字符转义</a></li><br>\n        <li><a href="bword://重复">重复</a></li><br>\n        <li><a href="bword://字符类">字符类</a></li><br>\n\n        <li><a href="bword://分枝条件">分枝条件</a></li><br>\n        <li><a href="bword://反义">反义</a></li><br>\n        <li><a href="bword://分组">分组</a></li><br>\n        <li><a href="bword://后向引用">后向引用</a></li><br>\n        <li><a href="bword://零宽断言">零宽断言</a></li><br>\n        <li><a href="bword://负向零宽断言">负向零宽断言</a></li><br>\n\n        <li><a href="bword://注释">注释</a></li><br>\n        <li><a href="bword://贪婪与懒惰">贪婪与懒惰</a></li><br>\n        <li><a href="bword://处理选项">处理选项</a></li><br>\n        <li><a href="bword://平衡组/递归匹配">平衡组/递归匹配</a></li><br>\n        <li><a href="bword://还有些什么东西没提到">还有些什么东西没提到</a></li><br>\n        <li><a href="bword://联系作者">联系作者</a></li><br>\n\n        <li><a href="bword://最后,来点广告...">最后,来点广告...</a></li><br>\n        <li><a href="bword://网上的资源及本文参考文献">网上的资源及本文参考文献</a></li><br>\n        <li><a href="bword://更新说明">更新说明</a></li><br>\n    </ol>\n
    元字符 <link rel="stylesheet" href="style.css">\n<br><p align=right><a href="bword://00目录">回目录</a></p><br>\n<h2 id="metacode">元字符</h2>\n    <p>现在你已经知道几个很有用的元字符了,如<span class="code">\\b</span>,<span class="code">.</span>,<span class="code">*</span>,还有<span class="code">\\d</span>.正则表达式里还有更多的元字符,比如<span class="code">\\s</span>匹配<span class="desc">任意的空白符,包括空格,制表符(Tab),换行符,中文全角空格等</span>。<span class="code">\\w</span>匹配<span class="desc">字母或数字或下划线或汉字等</span>。</p>\n\n  <p class="note">对中文/汉字的特殊处理是由.Net提供的正则表达式引擎支持的,其它环境下的具体情况请查看相关文档。</p>\n    <p>下面来看看更多的例子:</p>\n    <p><span class="regex">\\ba\\w*\\b</span>匹配<span class="desc">以字母<span class="part">a</span>开头的单词——先是某个单词开始处(<span class="part">\\b</span>),然后是字母<span class="part">a</span>,然后是任意数量的字母或数字(<span class="part">\\w*</span>),最后是单词结束处(<span class="part">\\b</span>)</span>。</p>\n\n    <p class="note">好吧,现在我们说说正则表达式里的单词是什么意思吧:就是多于一个的连续的<span class="code">\\w</span>。不错,这与学习英文时要背的成千上万个同名的东西的确关系不大 :)</p>\n    <p><span class="regex">\\d+</span>匹配<span class="desc">1个或更多连续的数字</span>。这里的<span class="part">+</span>是和<span class="code">*</span>类似的元字符,不同的是<span class="code">*</span>匹配<span class="desc">重复任意次(可能是0次)</span>,而<span class="code">+</span>则匹配<span class="desc">重复1次或更多次</span>。</p>\n\n    <p><span class="regex">\\b\\w{6}\\b</span> 匹配<span class="desc">刚好6个字母/数字的单词</span>。</p>\n    <table cellspacing="0">\n        <caption>表1.常用的元字符</caption>\n        <thead>\n            <tr>\n                <th scope="col">代码</th>\n\n                <th scope="col">说明</th>\n            </tr>\n        </thead>\n        <tbody>\n            <tr>\n                <td><span class="code">.</span></td>\n                <td><span class="desc">匹配除换行符以外的任意字符</span></td>\n\n            </tr>\n            <tr>\n                <td><span class="code">\\w</span></td>\n                <td><span class="desc">匹配字母或数字或下划线或汉字</span></td>\n            </tr>\n            <tr>\n                <td><span class="code">\\s</span></td>\n\n                <td><span class="desc">匹配任意的空白符</span></td>\n            </tr>\n            <tr>\n                <td><span class="code">\\d</span></td>\n                <td><span class="desc">匹配数字</span></td>\n            </tr>\n            <tr>\n\n                <td><span class="code">\\b</span></td>\n                <td><span class="desc">匹配单词的开始或结束</span></td>\n            </tr>\n            <tr>\n                <td><span class="code">^</span></td>\n                <td><span class="desc">匹配字符串的开始</span></td>\n            </tr>\n\n            <tr>\n                <td><span class="code">$</span></td>\n                <td><span class="desc">匹配字符串的结束</span></td>\n            </tr>\n        </tbody>\n    </table>\n    <p>元字符<span class="code">^</span>(和数字6在同一个键位上的符号)和<span class="code">$</span>都匹配一个位置,这和<span class="code">\\b</span>有点类似。<span class="code">^</span>匹配你要用来查找的字符串的开头,<span class="code">$</span>匹配结尾。这两个代码在验证输入的内容时非常有用,比如一个网站如果要求你填写的QQ号必须为5位到12位数字时,可以使用:<span class="regex">^\\d{5,12}$</span>。</p>\n\n    <p>这里的<span class="part">{5,12}</span>和前面介绍过的<span class="part">{2}</span>是类似的,只不过<span class="part">{2}</span>匹配<span class="desc">只能不多不少重复2次</span>,<span class="part">{5,12}</span>则是<span class="desc">重复的次数不能少于5次,不能多于12次</span>,否则都不匹配。</p>\n    <p>因为使用了<span class="part">^</span>和<span class="part">$</span>,所以输入的整个字符串都要用来和<span class="part">\\d{5,12}</span>来匹配,也就是说整个输入<span class="desc">必须是5到12个数字</span>,因此如果输入的QQ号能匹配这个正则表达式的话,那就符合要求了。</p>\n\n    <p>和忽略大小写的选项类似,有些正则表达式处理工具还有一个处理多行的选项。如果选中了这个选项,<span class="code">^</span>和<span class="code">$</span>的意义就变成了<span class="desc">匹配行的开始处和结束处</span>。</p>\n<br><p align=right><a href="bword://00目录">回目录</a></p><br>\n
    入门 <link rel="stylesheet" href="style.css">\n<br><p align=right><a href="bword://00目录">回目录</a></p><br>\n<h2 id="getstarted">入门</h2>\n    <p>学习正则表达式的最好方法是从例子开始,理解例子之后再自己对例子进行修改,实验。下面给出了不少简单的例子,并对它们作了详细的说明。</p>\n    <p>假设你在一篇英文小说里查找<span class="desc">hi</span>,你可以使用正则表达式<span class="regex">hi</span>。</p>\n    <p>这几乎是最简单的正则表达式了,它可以精确匹配这样的字符串:<span class="desc">由两个字符组成,前一个字符是h,后一个是i</span>。通常,处理正则表达式的工具会提供一个忽略大小写的选项,如果选中了这个选项,它可以匹配<span class="string">hi</span>,<span class="string">HI</span>,<span class="string">Hi</span>,<span class="string">hI</span>这四种情况中的任意一种。</p>\n\n    <p>不幸的是,很多单词里包含<span class="string">hi</span>这两个连续的字符,比如<span class="string">him</span>,<span class="string">history</span>,<span class="string">high</span>等等。用<span class="regex">hi</span>来查找的话,这里边的<span class="string">hi</span>也会被找出来。如果要<span class="desc">精确地查找hi这个单词</span>的话,我们应该使用<span class="regex">\\bhi\\b</span>。</p>\n\n    <p><span
  • TA的每日心情
    开心
    2019-6-27 08:03
  • 签到天数: 8 天

    [LV.3]偶尔看看II

    40

    主题

    464

    回帖

    5430

    积分

    会元

    Rank: 7Rank: 7Rank: 7

    积分
    5430

    灌水大神章

    9
    发表于 2012-4-19 10:45:50 | 只看该作者
    呵呵 网页编码 很容易提取的 最笨的办法可以采用 查找 然后替换

    该用户从未签到

    2121

    主题

    2961

    回帖

    6万

    积分

    翰林院修撰

    不忘初心。送分大人,灌水砖家。擅长抛砖引玉,挖坑不填。

    Rank: 12Rank: 12Rank: 12

    积分
    61056

    翰林院专用章灌水大神章笑傲江湖章小蜜蜂章管理组专用章

    10
    发表于 2013-7-22 08:02:29 | 只看该作者
    直接用EditPlus去掉HTML标记(Edit|Strip HTML Tags),就可以去掉当前文档或者选择区域的HTML标记,我一般是这么做的。