Pri*_*rim 5 java escaping messageformat string-interpolation
我有一串以下格式
Select * where {{0} rdfs:label "Aruba" } limit 10
Run Code Online (Sandbox Code Playgroud)
现在我想用一些新文本替换{0},但问题是消息格式由于第一个大括号而无法解析字符串.我知道如果我使用'{'它会逃避它,但问题是我有大量这种类型的字符串,我不能手动添加大括号之前和之后的单引号.即使我编写了一个函数来执行此操作,它也会转义占位符{0}的大括号.
它们是消息格式的更好替代品,例如ruby字符串插值.我只想要一种方法来编写一个字符串模板,我可以用新的字符串替换某些部分
较新的 Java 版本具有 java.util.Formatter 及其printf类似方法。(它们的一些变体也分散在 API 中,例如 String.format 和 PrintStream.printf)。
在那里你会写
String some_text = "Hello";
String pattern = "Select * where {%s rdfs:label \"Aruba\" } limit 10";
String replaced = String.format(pattern, some_text);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6227 次 |
| 最近记录: |