zoukankan      html  css  js  c++  java
  • 文本文件化器

    文本文件化器
    F.R.C.(地狱门神)

    源文件:https://files.cnblogs.com/Rex/Texter.rar
    执行文件:https://files.cnblogs.com/Rex/TexterBin.rar



    一、概要

    这一开始并不是一个正式项目,而是我随手写的一个小工具。它的用途是用于整理各种网页文件或格式不够好的文本文件。进行这些整理通常意味着大量的批量替换,这是很枯燥的工作。所以我就写了这个东西。现在与大家分享一下。

    为了简单起见,错误处理并不是很详细,见谅。

    本软件是免费自由软件,但是不得直接用于商业用途。
    具体协议见FFPL.txt。
    大意是你可以做任何事(复制、修改(除了协议)、翻译等)但是修改后你不能原名发行,另外,不提供任何担保。

    本软件按照我的惯例做了全球化,所以任何人都可以对它进行本地化并发行,无需通知我。当然如果能通知我更好。

    二、系统要求

    本软件需要 Microsoft .Net Framework 2.0 运行库支持。
    http://download.microsoft.com/download/5/6/7/567758a3-759e-473e-bf8f-52154438565a/dotnetfx.exe

    这个运行库在某些操作系统(如Win98,Win2k)下无法安装,因为缺少WindowsInstaller 3.1。
    http://www2.skycn.com/soft/11601.html

    三、用法

    输入文件必须按照一定的序号来排列,比如“XX01.txt”,“XX02.txt”,……

    如果不是这种编号方法,必须使用如批量文件设置器(File Operate)这样的软件先将文件名排成这样的顺序。

    输入文件和输出文件的名称中可以包括“*”号作为序号占位符,然后在输入文件框的下方填入文件的起止序号。
    比如,

    输入文件 小说**.htm
    01 到 99
    输出文件 小说**.txt

    表示将“小说01.htm”、“小说02.htm”、……“小说99.htm”转化成“小说01.txt”、“小说02.txt”、……“小说99.txt”。

    当然,如果没有“*”,就不用管起止序号的数值。

    输入输出编码表示输入输出文件的编码,通常在将某些用UTF-8编码的网页转化成大多数文曲星仅支持的GB2312编码时有用。

    尾部换行数表示在输出文件的尾部添加的回车换行符数量。

    转换Html字符表示将 这类Html转义字符转化成正常字符。


    下面来说一下右边这两大块。

    Html格式的文章通常有两段或多段有用信息。大多数情况下为标题和正文两段。

    比如这个文件(其中尖括号换成了全角),

    <HTML>
    <HEAD>
       <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312">
       <META NAME="Author" CONTENT="Cai Zhejiong">
       <META NAME="GENERATOR" CONTENT="Mozilla/4.04 [中文] (Win95; I) [Netscape]">
       <TITLE>福尔摩斯探案—空屋</TITLE>
    </HEAD>
    <BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">


    <HR ALIGN=LEFT WIDTH="100%">
    <BR>福尔摩斯探案——归来记

    <P>            空  屋
    <BR> 

    <P>    一八九四年的春天,可敬的罗诺德·阿德尔在最不寻常
    <BR>和莫名其妙的情况下被人谋杀的案子,引起全伦敦的注意,并
    <BR>使上流社会感到惊慌。在警方调查中公布的详细案情大家都
    <BR>知道了,但有许多细节被删去了。这是因为起诉理由非常充
    ……
    <BR>不起的汽枪将为苏格兰场博物馆增色,福尔摩斯先生又可以
    <BR>献身于调查伦敦错综复杂的生活所引起的大量有趣的小问题
    <BR>了。"
    <BR>
    <HR ALIGN=LEFT WIDTH="100%">

    </BODY>
    </HTML>

    我们可以将“福尔摩斯探案—空屋”和“一八九四年的春天……小问题了。”各作为一段有效信息,分别用<TITLE>和</TITLE>作为第一段的开始标记和结束标记,<BR> \r\n\r\n<P>和<BR>\r\n<HR ALIGN=LEFT WIDTH="100%">作为第二段的开始标记和结束标记填入。(注意:这里支持\r \n \x??等的转义,“\”请用“\x5C”表示。)

    之后,我们应该将在查找替换中输入(只输引号里面的):

    查找 替换
    “<BR>” “”(什么也没有)
    “<P>” “”(什么也没有)
    “\r\n\r\n” “%NewLine%”
    “\r\n    ”(有4个空格) “%NewParagraph%”
    “\r\n” “”(什么也没有)
    “%NewLine%” “\r\n\r\n”
    “%NewParagraph%” “\r\n    ”(有4个空格)

    其中,第一步旨在去掉<BR>,后面几步旨在去掉硬回车,通常“%NewLine%”和“%NewParagraph%”可用文章中不出现的字符串替代。

    最后的转换结果是:

    福尔摩斯探案—空屋
        一八九四年的春天,可敬的罗诺德·阿德尔在最不寻常和莫名其妙的情况下被人谋杀的案子,引起全伦敦的注意,并使上流社会感到惊慌。在警方调查中公布的详细案情大家都知道了,但有许多细节被删去了。这是因为起诉理由非常充……了不起的汽枪将为苏格兰场博物馆增色,福尔摩斯先生又可以献身于调查伦敦错综复杂的生活所引起的大量有趣的小问题了。"

  • 相关阅读:
    split a string into an array through comma
    正则表达式替换日期
    在Ajax1.0中调用页面CS文件中的方法
    半透明的div对话框
    foreach 的自动转化类型
    ViewStateAutoManager
    using ISerializable to control serialization and deserialization
    div with separated html template
    2018.9.9作业
    CSS单位
  • 原文地址:https://www.cnblogs.com/Rex/p/544353.html
Copyright © 2011-2022 走看看