如何识别段落并将其存储在数组中

时间:2012-08-05 13:12:12

标签: elisp

我在缓冲区中有两个段落,其中只包含简单文本:

第1段

第2段

我需要读取每个段落第一个字符的第一个字符,直到它的最后一个字并存储在数组中。这应该针对每个段落进行。如果没有额外的标记标记,如何识别段落? 如果这是不可能的,如果我要求用户在每个段落后按两次输入,我如何通过识别这些来再次分割我的文本?我试过正则表达式,但它不起作用。

2 个答案:

答案 0 :(得分:1)

如果elisp的其他新手遇到问题:我找到了一种方法来分割文本,如下所示:

 (while (re-search-forward "[ \n][ \n]$" nil t)
 ..... ..... .......
 )

但仍然不确定如何在循环中将它放入Array中。

答案 1 :(得分:1)

这是一种方法:

(let ((input-text "this is a sample paragraph.
this is another paragraph"))
  (apply #'vector (split-string input-text "\n")))

split-string是一种基于正则表达式分割文本的简单方法。

要将结果列表转换为数组,我使用函数'vector',它将数组传递给它。为了将列表的内容传递给该函数而不是列表本身,我使用'apply'。