Javascript 分析字符串时查看多个分隔符
我正在尝试将字符串解析为:Javascript 分析字符串时查看多个分隔符,javascript,string,split,Javascript,String,Split,我正在尝试将字符串解析为: 删除首字母“午餐”单词 将剩余的食物分成一周中的几天及其相关的食物 输入以字符串的形式输入,格式如下: var s='午餐周一:鸡肉和华夫饼,周二:mac和奶酪,周三:沙拉' 我的目标是分为: [周一,鸡肉和华夫饼,周二,mac和奶酪,周三,沙拉] 我使用的是s=s.split('').splice(1,s.length-1.join('').split('':') 这让我感到: [“周一”、“鸡肉和华夫饼,周二”、“mac和奶酪,周三”、“沙拉”] 显然,它只在
- 删除首字母“午餐”单词
- 将剩余的食物分成一周中的几天及其相关的食物
var s='午餐周一:鸡肉和华夫饼,周二:mac和奶酪,周三:沙拉'代码>
我的目标是分为:
[周一,鸡肉和华夫饼,周二,mac和奶酪,周三,沙拉]
我使用的是s=s.split('').splice(1,s.length-1.join('').split('':')代码>
这让我感到:
[“周一”、“鸡肉和华夫饼,周二”、“mac和奶酪,周三”、“沙拉”]
显然,它只在:
上拆分,将,
保留在那里。我尝试过使用regexsplit(“:\ \ \,”)
在上拆分:
或,
但这不起作用
有什么想法吗?如果您想在这两个方面进行拆分,只需稍微调整正则表达式:
// Notice the 'g' flag which will match all instances of either character
input.split(/[:,]/g);
您可以将所有这些功能结合起来,通过和功能获得您想要的:
// The initial replace will trim any leading "lunch " and the split will handle the rest
var output = input.replace(/^lunch /,'').split(/[:,]/g);
示例
var输入='午餐周一:鸡肉和华夫饼,周二:苹果和奶酪,周三:沙拉';
变量输出=输入。替换(/^午餐/,“”)
.split(/[:,]/g)
.filter(函数(x){返回x.length>0;});
警报(输出)代码>我不确定是否理解您的目标。但这是真的吗
var string='午餐周一:鸡肉和华夫饼,周二:mac和奶酪,周三:沙拉';
var splittedString=string.split(/:|,/);
splittedString.forEach(函数(e){
文件。写(e+“
”)
});代码>这是一个带有replace()
和split()
输出:
[“周一”、“鸡肉和华夫饼”、“周二”、“mac和奶酪”、“周三”、“沙拉”]
var s = 'lunch monday: chicken and waffles, tuesday: mac and cheese, wednesday: salad';
s = s.replace('lunch ', '');
s = s.replace(/:(\ )/g, ',');
s = s.split(',');
console.log(s);