我在缓冲区中有两个段落,其中只包含简单文本:
第1段
第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'。