一般是网页上的小说被直接复制到TXT文本中的
1,估计是作者码文时在Word中设置了间距
2,然后直接复制到网页中发布.
3,最终被整理的人直接大网页中复制到TXT文本中
到这还是没啥大问题的,在网页中阅读和在TXT中阅读有"意外换行"作为辅助其实还好
但是TXT到一些阅读工具中就产生偏差了. …
阅读工具自带的格式基本失效了
最最难受的就是阅读工具的宽度不及发布时"一行"的宽度…那就是灾难…
所以有什么方法解决这种情况吗
TXT中显示的样式
模拟宽度不够的灾难情况
一般是网页上的小说被直接复制到TXT文本中的
1,估计是作者码文时在Word中设置了间距
2,然后直接复制到网页中发布.
3,最终被整理的人直接大网页中复制到TXT文本中
到这还是没啥大问题的,在网页中阅读和在TXT中阅读有"意外换行"作为辅助其实还好
但是TXT到一些阅读工具中就产生偏差了. …
阅读工具自带的格式基本失效了
最最难受的就是阅读工具的宽度不及发布时"一行"的宽度…那就是灾难…
所以有什么方法解决这种情况吗
TXT中显示的样式
模拟宽度不够的灾难情况
试试电子书转换工具吧:
我觉得这种应该能处理。
vsc
替换\n\n为\n
刚试了下不行
它的介绍里也没提到类似的功能呀
可能相关的是 段落 之类的
一般区分段落的方法就是换行.
但是由于现在多出了意外换行…
现在的难题恰恰是 文本到段落 这部分
有没有从源头解决问题的,比如找一个格式靠谱的网站重新抓 txt
单独针对这段文本有很多种处理方式…
我贴的这段文本其实还算比较有规则的了
它段落间隔了一个单独的空白行
按照这种规则分隔然后单纯替换换行再合并就行了…
但是很可能没有这种单独的空白行
所以需要的是一种较通用的方法…
或者看看有没有类似的工具
感觉可能提供一个文件作为范例比较好解决……
单纯描述肯定无法给出确切解决方案
作者就是这样发布在网上的呀…
不是那起点那种大网站…有很多笔趣阁之类的源…
来 url 看看
为表述方便,本文作如下约定:
\n
代表换行符\t
代表制表符\s
代表半角空格
感觉您给的文本有两个特点:
\n\n
代表分段。\t
)、空格(\s
)还是全角空格。基于上述发现,我们可以设计两种替换方法。
\n\n
替换为一段文章中未出现过的字符串,比如 【这是分段符】
\n
删除【这是分段符】
)替换为 \n
这里假设每一段首句的缩进为两个空格,即
\s\s
\n
删除\s\s
替换文 \n\s\s
找到了,阅读有介绍过下载方法记得,你可以鼓捣鼓捣看看
我自己用阅读看小说的时候从来没遇到过段落问题,只遇到过防盗导致的密码……
不是那么正规的网站…
一时让我找个正规的例子出来还真有点难…
我找找看
没事,你把链接引用一下,我觉得没啥问题:
url
sis和那个001的原创区基本上都是这种的…
其实我自己也折腾这种,这种单独的规则也写了一些
但效果都不大好
其实还是期待可能有我没发现的专精这方面的工具吧…
但好像连觉得这个是问题的人都比较少= =
这种每行字数固定的我好像就是直接先\n(.{,n-3})
清理段尾句,再^(.{n-1,n+1})\n
删换行符,然后多加倍几次……剩下的就边读边校,毕竟你永远不知道站点加了什么奇怪广告……
图1这种段内回车,可以用cnbook这个文本处理器,这个是针对佛文排版开发的
所以对中文处理有奇效
最新版叫textpro 6.5.1,已经停止开发了
图2的灾难性效果应该是没什么能处理好的了
还有个emeditor的脚本
//段落重排(删错误回车,重新分段,首位必须有双空格)
document.selection.Replace("^\\n\\n", "【临时标记】", nFlags);
document.selection.Replace("([^ ]+)\\n([^ ]+)", "\\1\\2", nFlags);
document.selection.Replace("([^ ]+)\\n([^ ]+)", "\\1\\2", nFlags);
document.selection.Replace("([^ ]+)\\n([^ ]+)", "\\1\\2", nFlags);
document.selection.Replace("([^ ]+)\\n([^ ]+)", "\\1\\2", nFlags);
document.selection.Replace("([^ ]+)\\n([^ ]+)", "\\1\\2", nFlags);
document.selection.Replace("([^ ]+)\\n([^ ]+)", "\\1\\2", nFlags);
document.selection.Replace("([^ ]+)\\n([^ ]+)", "\\1\\2", nFlags);
document.selection.Replace("([^ ]+)[ ]+", "\\1\\n ", nFlags);
document.selection.Replace("【临时标记】", "\\n\\n\\n", nFlags);
break;
这个脚本的效果没textpro 6.5.1的效果好
所以我每台电脑都有个textpro备份
cnbook 删除段内回车挺好的…
在有空白行和无空白行的情况下都工作的挺好
我现在也的用的这种方法,我还整理了一些用于分段的符号
但是也有可能这些符号恰巧就在行尾且不是分段,不太完美
。?!"”」)…=**