我在缓冲区中有两个段落,其中只有简单的文本:
第 1 段
第 2 段
我需要从每个段落的第一个字符的第一个字符开始读取,直到它是最后一个单词并存储在一个数组中。每个段落都应该这样做。如果没有额外的标记标签,我如何识别段落?如果这是不可能的,如果我要求用户在每个段落之后按两次回车,我如何通过识别这些来再次拆分我的文本?我尝试了正则表达式,但它不起作用。
我在缓冲区中有两个段落,其中只有简单的文本:
第 1 段
第 2 段
我需要从每个段落的第一个字符的第一个字符开始读取,直到它是最后一个单词并存储在一个数组中。每个段落都应该这样做。如果没有额外的标记标签,我如何识别段落?如果这是不可能的,如果我要求用户在每个段落之后按两次回车,我如何通过识别这些来再次拆分我的文本?我尝试了正则表达式,但它不起作用。
如果 elisp 的其他一些新手有问题:我找到了一种使用 while 拆分文本的方法,如下所示:
(while (re-search-forward "[ \n][ \n]$" nil t)
..... ..... .......
)
但仍然不确定如何在循环时将其放入 Array 中。
这是一种方法:
(let ((input-text "this is a sample paragraph.
this is another paragraph"))
(apply #'vector (split-string input-text "\n")))
split-string 是一种基于正则表达式分割文本以进行分割的简单方法。
要将结果列表转换为数组,我使用函数“vector”,它使数组成为传递给它的参数。为了将列表的内容而不是列表本身传递给该函数,我使用“应用”。