我有一个小问题,我们的API正在返回一个需要格式化为列表的字符串。
示例字符串:
"*list1. **subItemOflist. *list2 **subItemOfList2."
需要将其格式化为:
- list1
- subItemOfList
- list2
- subItemOfList2
我创建了一个将在'*'上分割的管道。但是,子项目还包含星号,它们也被拆分。
const mockstring = '*list. **sublist.';
const splitList = mockstring.split('*').splice(1);
console.log(splitList);
产生
[
"list. ",
"",
"sublist."
]
注意空数组节点。
答案 0 :(得分:1)
split
使用正则表达式作为参数,因此您可以在其中使用环视断言,以仅在不存在“ *”或后面没有另一个“ *”的情况下匹配“ *”:mockstring.split(/(?<!\*)\*(?!\*)/)
如果要分割任意数量的“ *”(但至少分割一个),则正则表达式为:mockstring.split(/\*+/)