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

时间:2018-07-26 14:14:38

标签: javascript

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

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

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

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

示例:

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

谢谢!

3 个答案:

答案 0 :(得分:0)

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

public static SessionFactory getSessionFactory() {
    Configuration configuration = new Configuration().configure();

    configuration.addAnnotatedClass(com.myOrg.entities.Person.class);

    StandardServiceRegistryBuilder builder = new StandardServiceRegistryBuilder()
            .applySettings(configuration.getProperties());
    SessionFactory sessionFactory = configuration.buildSessionFactory(builder.build());
    return sessionFactory;
}

如果我是你,这就是我要做的事情:

string cleaned = Regex.Replace(input, "\\b" + string.Join("\\b|\\b",BAD_WORDS) + "\\b", "")

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

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

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

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

第二次根据输入返回的值为index +

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