2012-08-05 57 views
2

我有两个段落中有它只是简单的文本的缓冲区:如何识别段,并将其存储在阵列

条第1款

第2款

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

回答

1

下面是做这件事:

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

分割字符串是基于正则表达式拆就瓜分了文本的简单方法。

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

1

如果其他一些新手的elisp有问题:我发现了用于分割使用,而像下面的文本的方式:

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

但仍不能确定我怎么可以把它放在阵列,同时在做循环。

相关问题