
字符串和正则表达式
|
67
2.11
从字符串中提取列表
2.11.1
问题
有一个字符串中有几个句子,其中一句有一个物品列表。这个列表以冒号(
:
)开头,
以句点(
.
)结束,各物品之间以逗号(
,
)分隔。你想把这个列表单独提取出来。
提取前:
This is a list
of
items: cherries, limes, oranges, apples.
提取后:
['cherries','limes','oranges','apples']
2.11.2
方案
解决方案涉及两个操作:首先提取包含物品列表的字符串,然后把字符串转换成列表。
两次使用
String.indexOf()
方法,一次定位冒号,另一次查找冒号后面第一个句点。
const
sentence = 'This is one sentence. This is a sentence with a list of items:' +
'cherries, oranges, apples, bananas. That was the list of items.';
const
start = sentence.indexOf(':');
const
end = sentence.indexOf('.', start + 1);
借助这两个位置和
String.slice()
方法,可以把想要的字符串提取出来。
const
list = sentence.slice(start + 1, end);
// list = 'cherries, oranges, ...