将iOS .strings文件解析为perl哈希

时间:2016-03-03 13:46:39

标签: ios regex perl localization

所以我有.strings iOS本地化文件。这种文件格式是这样的:

/*some comment here*/
"key_one" = "value_one"

/*some comment here*/
"key_two" = "value_two"

我想将其解析为哈希,可能使用简单的正则表达式。

任何形式的帮助都会得到很大的帮助。

2 个答案:

答案 0 :(得分:1)

以下脚本

use strict;
use warnings;

my %hash;

while (<>) {
    if (m{^\s*"(\w+)"\s*=\s*"(\w+)"}) {
        $hash{$1} = $2;
    }
}

给出

{
    'key_one' => 'value_one',
    'key_two' => 'value_two'
};

答案 1 :(得分:1)

我这样做:

#!/usr/bin/env perl
use strict;
use warnings;
use Data::Dumper;

local $/; 
my %hash = <> =~ m/"([^"]+)"      #something in quotes
                         \s*=\s*  # = and whitespace
                   "([^"]+)"      # something else in quotes
                            /gmx; # global, multiline, xtended

print Dumper \%hash; 

结果:

$VAR1 = {
          'key_two' => 'value_two',
          'key_one' => 'value_one'
        };