我有兴趣获取与运营商%
格式化相关的字符串中的广告位列表。假设我有一个slots
方法,它会执行以下操作:
t = '... %{s1} ... %{s2} ... %{s3} ...'
t.slots # => ['s1', 's2', 's3']
slots
?slots
的方法?我看了what I think is the source code of %
,我担心字符串格式化对于广告位检测没有明显的分离。
答案 0 :(得分:1)
至少,你可以这样做:
t = '... %{s1} ... %{s2} ... %{s3} ...'
h = {}
begin
t % h
rescue KeyError => e
h[e.key] = true
retry
end
h.keys # => [:s1, :s2, :s3]