下面的代码打印以空格开头的response
变量。
response
变量之前要打印的空格数等于itemNumber
和examineeResponses
的差异。
现在,是否可以使用String.format将字符串填充为零("0"
)而不是空格?
def converted = examineeResponses+String.format("%${itemNumber - 1}s", response)
使用上述代码的示例:
examineeResponses = '1' // String
itemNumber = 10 //int
response = '3' // String
输出:
" 3"
期望的输出:
"000000003"
答案 0 :(得分:9)
我相信你可以做到这一点,但要理解你的问题有点难以理解:
int itemNumber = 10
String examineeResponses = '1'
char response = '3'
"$response".padLeft( itemNumber - examineeResponses.length(), '0' )
虽然我怀疑(你没有说)你只是希望它打印itemNumbers
个字符宽。如果是这种情况,您只需要:
"$response".padLeft( itemNumber, '0' )
您根本不需要examineeResponses
。
我在你的问题中遇到的一个问题是我不知道examineeResponses.length()
应该做什么(除了抛出错误)。另一个是我不确定这是你想做的事情; - )
你不能在Java或Groovy中用String.format
填充字符串,你只能填零数字
答案 1 :(得分:-1)
尝试这样的事情:
def formattedString = "blahblah.com?param=${param}&hash=${hash}"