繁体   English   中英

javascript-在特定字符串之后和下一个冒号之前检索字符串

[英]javascript - retrieve string right after a specific string and before the next colon

我是学习javascript的初学者,需要从字符串中检索值的特定部分。

以下是我的队友提供的字符串格式,它们是一组参数,其值用冒号分隔。

输入参数名称后如何返回值,然后在下一个冒号之前返回值?

string = "productCat:Wine:country:Australia:year:2000:type:white wine:"

例:

  • 如果输入“ productCat”,则返回“葡萄酒”
  • 如果输入“国家”,则返回“澳大利亚”
  • 如果输入“年”,则返回“ 2000”
  • 如果输入“类型”,则返回“白葡萄酒”

谢谢!

这是一个小例子。 只需拆分字符串,然后如果找到内容,则寻找下一个索引。 但这不是很聪明。

 const string = 'productCat:Wine:country:Australia:year:2000:type:white wine'; const findNext = (data, str) => { const array = data.split(':'); const i = array.indexOf(str); if(i >= 0) return array[i+1]; } console.log(findNext(string, 'productCat')); console.log(findNext(string, 'country')); 

如果我是您,这是我会做的事情:

 const string = 'productCat:Wine:country:Australia:year:2000:type:white wine'; const parseString = str => { const array = str.split(':'); const result = {}; for(let i = 0; i<array.length; i=i+2) { result[array[i]] = array[i+1]; } return result; } const result = parseString(string); console.log(result); console.log(result.country); console.log(result.year); 

只需解析字符串并构建一个对象,以后即可使用;)

这是一个与旧版浏览器兼容的示例。

 var string = "productCat:Wine:country:Australia:year:2000:type:white wine:" function getPart(string, input) { var parts = string.split(":"); for (var i = 0; i < parts.length; i = i + 2) { if (parts[i] == input) { return parts[i+1]; } } } console.log(getPart(string, "productCat")); 

首先使用split()函数将字符串拆分为字符串数组

  string="productCat:Wine:country:Australia:year:2000:type:white wine:"
 var array=string.split(":");

其次根据输入返回的值就是索引+

return var x=array[array.indexOf(input)+1]; 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM