Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 分析字符串时查看多个分隔符_Javascript_String_Split - Fatal编程技术网

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和奶酪,周三”、“沙拉”]

显然,它只在
上拆分,将
保留在那里。我尝试过使用regex
split(“:\ \ \,”)
上拆分:
但这不起作用


有什么想法吗?

如果您想在这两个方面进行拆分,只需稍微调整正则表达式:

// 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);