我有一个字符串:
var data = 'Hei, how are u?. I am good. And you?.'
我使用EJS作为我的视图引擎,我希望这样显示:
目前我使用的是数组数组:
var data = [
['Hei, how are u?'],
['I am good.'],
['And you?']
]
我可以做一个for循环并像列表一样显示。
这是我能做的唯一方法,但我相信我做错了。
有人可以帮我一把吗?
如何打破字符串并像HTML中的列表一样显示?
答案 0 :(得分:3)
句子分割器可以使用
https://github.com/parmentf/node-sentence-tokenizer
然后使用ejs
进行数组解析。
感谢。
答案 1 :(得分:0)
说这是传递给ejs模板的数据。
var data = { parts: [ 'Hei, how are u?', 'I am good.', 'And you?' ] };
在ejs模板中:
<ol>
<% for(var i = 0; i < parts.length; i++) {%>
<li><%= parts[i] %></li>
<% } %>
</ol>
注意:使用正则表达式将字符串拆分为匹配'。','?'的部分等
var txt = 'Hei, how are u?. I am good. And you?.';
var parts = txt.match(/[^\.!\?]+[\.!\?]+/g);
var data = { parts: parts };
正则表达式代码参考:Javascript RegExp for splitting text into sentences and keeping the delimiter