如何拆分WorkFlowy的段落?

这是WorkFlowy的原始内容。在第二个段落有4个句号。

我期望的结果。我希望从第一个句号开始断句,并且每个断句变成第一个句号的子节点。
image

为什么要这么做?我会将句号拆分后的内容导出为opml,再用ithoughts打开opml来阅读。比如这样:

这样做的目的是为什么?我阅读的学术电子书,段落又臭又长,眼睛看得有视力疲劳,理解比较费劲。如果将大段落,按句号进行拆分,变成第一句话的子结点(第一句话通常是总结),这样阅读起来就比较容易。

我有考虑过正则表达式,我只能简单的正则表达式,我了解有限,我不知道是否存在『聪明』的正则表达式可以做到。

上述内容的WorkFlowy链接:https://workflowy.com/s/wed-dec-16-2020/57USJWD1mntz79HT

我还想过另一个方法,可能是针对WorkFlowy的OPML的代码来进行替换,我发现OPML代码是这样的。但我感觉无从下手。

很麻烦.我之前遇到过相似问题.因为盗版小说网站标点错误排版混乱,做过一个拆分段落的算法,现在也只是凑合.
看看车祸现场.

1 个赞

经历这种痛苦的,原来不止只有我一个人 :joy:

段落内文字多寡差异会让人感觉甚至是不同的两本书.专著的句子实在太长了,甚至有把一句拆几句的必要性.典型的就是从分号位置断开,变成有序列表.
另一方面修饰词太多了,需要语义分析然后缩减句子内容.一个特别的例子是,xxx的xx认为xxxxx这种形式,也可以把前两部分干掉,单独段落浅色显示

我能想到是复制出来,在编辑器里搞定再复制回去…

但,很大量么?

简单按句号拆分可以这么写 (\S| )+?。
在全文第一段前加一个空行之后,每段的第一句话满足 \n(\S| )+?。
那么每段的非第一句就是上面两个集合相减 (?<=\n(\S| )+?。)(\S| )+?。

谢谢!

我后来是在sublime,用的这个正则。完了再粘贴到WF里处理。