所以我有.strings iOS本地化文件。这种文件格式是这样的:
/*some comment here*/
"key_one" = "value_one"
/*some comment here*/
"key_two" = "value_two"
我想将其解析为哈希,可能使用简单的正则表达式。
任何形式的帮助都会得到很大的帮助。
答案 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'
};