JS -遍历文本,在每个"."后面创建数组条目
JS - go throught a text, make array entry after each "."
我是JavaScript新手。我有一个文本与几个句子,我希望每个句子是一个条目在数组中命名的句子和警报("新条目")。所以我必须循环,只要有一个"。",一个新的条目就会开始。但是我怎么能读完一篇文章呢?
var sentences = []
var myText= "I like cars. I like pandas. I like blue. I like music."
您可以将myText
拆分到". "
上,然后修剪并添加句号。
jsFiddle
var myText = "I like cars. I like pandas. I like blue. I like music."
var sentences = myText.split(". ");
for (var i = 0; i < sentences.length; i++) {
if (i != sentences.length - 1)
sentences[i] = sentences[i].trim() + ".";
}
在". "
而不是"."
上分割文本将意味着它将在"That costs $10.50."
等句子上工作
使用String.charAt(index)
var sentences = [""];
var count = 0;
for(var i = 0; i < myText.length; i++){
var current = myText.charAt(i);
sentences[count] += current;
if(current == "."){
count++;
sentences[count] = "";
}
}
您可以使用split
var myText= "I like cars. I like pandas. I like blue. I like music.";
var sentences = myText.split(".");
虽然@Pietu1998的答案向您展示了如何遍行字符串中的字符,但从这样的字符串中获得句子数组的更舒适的方法是通过与正则表达式匹配:
var myText= "I like cars. I like pandas. I like blue. I like music.";
var sentences = myText.match(/'S[^.]*'./g) || [];
当然这只是在每个点上分割字符串,在现实生活中并不是每个句子都以点结束,也不是每个点结束一个句子。
相关文章:
- 如何创建js常量对象与"依赖/相对;价值观
- "阻止该页面创建附加对话框“;第二次点击
- 创建javascript日期的最简单方法;2011年4月18日"1980年6月1日”;总体安排
- 得到"未捕获错误:断言失败:Ember视图需要1.7和2.1之间的jQuery“;通过ember-cli创建的
- 为什么“;window=window.parent"创建一个无限循环
- 创建JS:使用"容器”;
- 如何创建HTML和CSS“;自己试试吧"编辑
- 构建一个2d html5画布游戏,并尝试用javascript连接到服务器以创建播放器"高芯&”;
- 创建一个javascript"hasValue”;util方法
- "用于创建新对象的伪经典和原型范式“;.如何决定使用哪一个
- 如何创建JavaScript“;自己试试吧"编辑
- 能够创建一个以字符串为键的映射,但当引用该键时;意外的数字错误"
- 使用"span"创建一个自定义的基于web的文本编辑器;元素——一个坏主意
- "OnClick”;通过JavaScript创建的事件会立即触发,而不是在单击对象时触发
- 使用函数"each"创建多个数组;从jQuery
- Magento-我需要一个“;好的"关于如何创建自定义联系人表单的教程
- 如何创建语句if包含"&"
- 将“/"在搜索框上创建焦点用户的热键
- 如何让PHP回显“; 〃;作为javascript的纯文本,并且不具有" 〃;创建一条新行
- 我如何从由“”创建的数组中调用元素;document.getElementBytag()"