Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.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_Json_String_Normalization - Fatal编程技术网

Javascript规范化字符串

Javascript规范化字符串,javascript,json,string,normalization,Javascript,Json,String,Normalization,所以我必须解析一个搜索字符串,以便以后从中生成一个JSON对象 样本输入 "Amercian01 SFO2016" "Amercian 01 SFO 2016" "Amercian-01 2016SFO" "Amercian:01 SFO16" 所有这些字符串的输出都应该返回 { airline: "American", flightNo: 01, airport: "SFO", year: "2016" } 代码 它将输出American,01,2016SFO 2个问题: 1) 我如何将2

所以我必须解析一个搜索字符串,以便以后从中生成一个JSON对象

样本输入

"Amercian01 SFO2016"
"Amercian 01 SFO 2016"
"Amercian-01 2016SFO"
"Amercian:01 SFO16"
所有这些字符串的输出都应该返回

{
airline: "American",
flightNo: 01,
airport: "SFO",
year: "2016"
}
代码

它将输出American,01,2016SFO

2个问题: 1) 我如何将2016年SFO拆分为2016年SFO 2) 这是最好的方法吗


下面是一个小提琴

请参见代码片段和工作示例:

getNormalizedData('American01 2016 SFO');
getNormalizedData(“美国01 SFO 2016”);
getNormalizedData('American-01 SFO2016');
getNormalizedData(“美国:01 SF0-2016”);
函数getNormalizedData(str){
var=str;
var flightNo=“”;
var airport=“”;
var year=“”;
var airlinendmatch=str.match(/[\d\-\:]/);
if(航空线路端匹配){
airline=str.substr(0,airlinendmatch.index);
str=str.substr(airlinendmatch.index);
如果(!str[0]。匹配(/\d/))
str=str.substr(1);
var flighNoEnd=str.indexOf(“”);
flightNo=str.substr(0,flightnoend);
str=str.substr(flighNoEnd);
机场=str;
var yearMatch=str.match(/\d{4}/);
国际单项体育联合会(年度比赛){
年份=年份匹配[0]
机场=(机场。替换(年份,“”)
.trim()
.替换(“-”,”);
}
}
var航班={
航空公司:航空公司,,
flightNo:flightNo,
机场:机场,,
年份:年份,,
}
控制台日志(航班);

}
Ok。你有问题吗?你有什么问题?你试过什么?StackOverflow不是免费的编码服务。所以我希望你能。请更新您的问题,以显示您已在某个应用程序中尝试过的内容。欲了解更多信息,请参阅,并使用:)抱歉,我按send太快了,我以为我已粘贴了代码。
var str = "Amercian-01 2016SFO";
document.write(str.split(/[ :-]+/));