是否有与Java MessageFormat等价的Ruby?
我有一个字符串的格式:是否有与Java MessageFormat等价的Ruby?,ruby,messageformat,Ruby,Messageformat,我有一个字符串的格式: 你好{0},今天是{1},时间是{2}。你会吃{3}吗? 给定一个数组[“sir”,“Monday”,“12:00”,“tacos”],此字符串的格式应为: 您好,先生,今天是星期一,时间是12:00。你会吃玉米卷吗? Ruby是否有某种内置方法来实现这一点?还是有宝石?还是我只需要替换字符串 编辑:我想补充一点,我不允许编辑这些字符串。因此,类似sprintf的解决方案将不起作用。您可以这样做: message = "Hello %{tile}, today is %{
你好{0},今天是{1},时间是{2}。你会吃{3}吗?
给定一个数组[“sir”,“Monday”,“12:00”,“tacos”]
,此字符串的格式应为:
您好,先生,今天是星期一,时间是12:00。你会吃玉米卷吗?
Ruby是否有某种内置方法来实现这一点?还是有宝石?还是我只需要替换字符串
编辑:我想补充一点,我不允许编辑这些字符串。因此,类似sprintf的解决方案将不起作用。您可以这样做:
message = "Hello %{tile}, today is %{day_name} and the time is %{time}. Will you be eating %{food}?"
p message % { title: "sir", day_name: "Monday", time: "12:00", food: "tacos" }
检查我的答案
希望有帮助 您可以这样做:
message = "Hello %{tile}, today is %{day_name} and the time is %{time}. Will you be eating %{food}?"
p message % { title: "sir", day_name: "Monday", time: "12:00", food: "tacos" }
检查我的答案
希望有帮助 带有:
或
与:
或
我喜欢,但由于Ruby不是我的强项,任何改进都将不胜感激。源代码已打开。I,但由于Ruby不是我的强项,任何改进都将不胜感激。源代码已打开。您可以使用
%1$s
、%2$s
、%3$s
等将特定参数作为目标。您可以使用%1$s
、%2$s
、%3$s
等将特定参数作为目标。
"Hello %s, today is %s and the time is %s. Will you be eating %s?" % ["sir", "Monday", "12:00", "tacos"]
"Hello %s, today is %s and the time is %s. Will you be eating %s?" % ["sir", "Monday", "12:00", "tacos"]
# => "Hello sir, today is Monday and the time is 12:00. Will you be eating tacos?"