我想定义一个响应映射模板,如下所示:
#set( $postIds = [] )
#foreach( $item in $ctx.result.items )
#if( !$util.isNull($item))
$util.qr($postIds.add($item.SK.replace("^([0-9]){1,}-", "")))
#end
#end
{
"items": $utils.toJson($postIds),
#if( ${context.result.nextToken} )
"nextToken": "${context.result.nextToken}",
#end
}
目标是删除每个项目的 SK 属性开头的时间戳,后跟"-"字符。
我检查了正则表达式是否正确,但这似乎不起作用,因为开头的数字没有被删除。
也尝试过...replace(/^([0-9]){1,}-/", "")
.
如果我记得相关,文档在某处说所有 Java 字符串方法都可用。
我在这里做错了什么?
要替换正则表达式,请使用 替换所有
用给定的替换此字符串中与给定正则表达式匹配的每个子字符串。
或者replaceFirst
确保SK
是字符串或使用toString()