我想从数据库中读取一个String,并通过将其转换为GString来替换占位符.我可以用Eval做到这一点吗?还有其他想法吗?
String stringFromDatabase = 'Hello ${name}!'
String name = 'world'
assert 'Hello world!'== TODO
Run Code Online (Sandbox Code Playgroud)
小智 15
您可以在Groovy中使用Template框架,因此这样做可以解决您的问题:
String stringFromDatabase = 'Hello ${name}!'
String name = 'world'
def engine = new groovy.text.SimpleTemplateEngine()
assert 'Hello world!'== engine.createTemplate(stringFromDatabase).make([name:name]).toString()
Run Code Online (Sandbox Code Playgroud)
你可以在这里找到这些文档:http://docs.groovy-lang.org/latest/html/documentation/template-engines.html#_introduction
GString类是抽象的,抽象类的GStringImpl实现在字符串数组上工作,它从解析阶段和值中获得.
Psy*_*nch -2
如果您想使用占位符,则应该使用双引号字符串文字。
以下应该有效:
String name = 'world'
String stringFromDatabase = "Hello ${name}!" //use double quotes
assert 'Hello world!' == stringFromDatabase
Run Code Online (Sandbox Code Playgroud)
请参阅有关字符串的官方 Groovy 文档,了解实现此功能的其他方法。
| 归档时间: |
|
| 查看次数: |
4307 次 |
| 最近记录: |