【问题标题】:Regex to get fields separated by "="正则表达式获取由“=”分隔的字段
【发布时间】:2013-01-07 14:46:52
【问题描述】:

我正在做一个$.getJSON 来检索一些数据,它给了我以下信息:

address = 1233 Abc St
address2 = Suite 123
city = San Francisco
state = CA
zip = 12345

我最理想的是将它分解成一个数组,例如:

array['address'] = "1233 Abc St"
array['address2'] = "Suite 123"
...

这似乎是简单的正则表达式,但我无法完全理解它。

【问题讨论】:

  • 仅供参考,JavaScript 语法不会操纵 array,而是操纵 object。您将在对象上设置属性,而不是在数组中的位置(例如{ address: '1233 Abc St', address2: 'Suite 123' })。
  • @Cory 什么数组表示法? array['address']?这是在对象上设置属性的一种非常有效的方法。
  • @Kolink:哎呀!你说得对。我忘记了。我编辑了评论以澄清一点。
  • 问题是因为object被称为array,比较混乱。
  • 我更喜欢一个数组,但一个对象完成了这项工作。我使用这种语法是因为我习惯了 PHP,所以编写这样的数组似乎很自然,我什至不认为 JavaScript 没有类似的东西。而且,不幸的是,这是我使用的 API 返回的格式。这对我来说没有多大意义,但我必须使用我所得到的。

标签: javascript jquery regex json


【解决方案1】:

这通过迭代更容易完成:

var lines = source.split("\n"), l = lines.length, i, out = {}, line;
for(i=0; i<l; i++) {
    line = lines[i].split(/\s+=\s+/);
    out[line[0]] = line[1];
}

【讨论】:

    猜你喜欢
    • 2016-09-15
    • 2017-08-02
    • 1970-01-01
    • 2022-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多