2

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

第 1 段

第 2 段

我需要从每个段落的第一个字符的第一个字符开始读取,直到它是最后一个单词并存储在一个数组中。每个段落都应该这样做。如果没有额外的标记标签,我如何识别段落?如果这是不可能的,如果我要求用户在每个段落之后按两次回车,我如何通过识别这些来再次拆分我的文本?我尝试了正则表达式,但它不起作用。

4

2 回答 2

1

如果 elisp 的其他一些新手有问题:我找到了一种使用 while 拆分文本的方法,如下所示:

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

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

于 2012-08-05T15:12:59.490 回答
1

这是一种方法:

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

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

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

于 2012-08-05T16:41:21.790 回答