Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.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_Jquery_Angularjs_Node.js - Fatal编程技术网

Javascript 如何将月份从字符串中分割出来?

Javascript 如何将月份从字符串中分割出来?,javascript,jquery,angularjs,node.js,Javascript,Jquery,Angularjs,Node.js,我只需要从字符串中拆分月份名称 例: 我想像这样分手 let arr = ["january","february"," april "] 我是JS新手,我尝试过split方法,但没有得到结果,是否还有其他方法可以这样做?您可以这样做 let str=“JanuaryFebruaryPriltuesDayFriday”; 设月份=[‘一月’、‘二月’、‘三月’、‘四月’、‘五月’、‘六月’、‘七月’、‘八月’、‘九月’、‘十月’、‘十一月’、‘十二月’]; 设arr=[]; 月份。地图((数

我只需要从字符串中拆分月份名称

例:

我想像这样分手

let arr = ["january","february"," april "]

我是JS新手,我尝试过split方法,但没有得到结果,是否还有其他方法可以这样做?

您可以这样做

let str=“JanuaryFebruaryPriltuesDayFriday”;
设月份=[‘一月’、‘二月’、‘三月’、‘四月’、‘五月’、‘六月’、‘七月’、‘八月’、‘九月’、‘十月’、‘十一月’、‘十二月’];
设arr=[];
月份。地图((数据、索引)=>{
如果(str.indexOf(data)>=0){
arr.push(str.substr(str.indexOf(数据),data.length))
}}
)

控制台日志(arr)您可以这样做:

let str=“JanuaryFebruaryPriltuesDayFriday”;
var-arr=[];
如果(包括(“一月”)){
arr.push(“一月”);
}
如果(包括(“二月”)){
arr.push(“二月”);
}
如果(包括(“四月”)){
arr.push(“四月”);
}

控制台日志(arr)您可以使用正则表达式搜索月份名称并获取其数组

var string=“JanuaryFebruaryPriltuesDayFriday”,
array=string.match(/一月|二月|三月|四月|五月|六月|七月|八月|九月|十月|十一月|十二月/gi);

console.log(数组)您可以执行以下操作

为了解释,首先创建一个包含所有月份的数组

然后,您希望通过只包含字符串中的月份来将
过滤到新数组中

let months=[
“一月”,
“二月”,
“三月”,
"四月",,
“五月”,
“六月”,
“七月”,
“八月”,
"九月",,
“十月”,
"十一月",,
“十二月”
];
//将所有月份更改为小写
月=月。映射(m=>{
返回m.toLowerCase();
});
让str=“一月一日、二月一日、四月四日”;
设arr=months.filter(m=>str.includes(m));
控制台日志(arr)请尝试以下代码:

var monthsArray=['1月'、'2月'、'3月'、'4月'、'5月'、'6月'、'7月'、'8月'、'9月'、'10月'、'11月'、'12月']
var input=“一月一日二月一日四月一日”;
var inputLowerCase=input.toLowerCase();
var输出=[];
monthsArray.forEach(函数(月){
if(input.includes(month.toLowerCase())){
输出推送(月);
}
});

日志(“输出:”,输出)您可以使用大写字母。它已经在这里了。它可能是小写的,因为其中也有日期名称(可能还有其他的东西?),最简单的解决方案是使用一个包含所有12个月名称的数组,并将其映射到字符串,以了解字符串中出现的月份。但更好的解决方案是,首先通过调整提供给您的字符串来防止出现此问题。您有任何示例吗?他的字符串只包含小写字母。我认为它将返回所有值?我只需要月份名称当我把答案贴在paulfitzgerald上时,它是大写的。请现在检查一下@parithiinfo@Wysiati很公平,我没有看到:-)没有任何循环最简单!!真棒的回答@nina scholzI同意,@nina scholz在这些JS问题上是业内最好的。我有同样的想法,只是用另一种方式实现了!很好的尝试!:)
let arr = ["january","february"," april "]