2012-08-05 22 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) 
..... ..... ....... 
) 

但仍不能確定我怎麼可以把它放在陣列,同時在做循環。

相關問題