替换字符串的最后一个字符或数字 |自由标记
Replace the last character or number of a string | Freemarker
我需要检查 ${string}
的最后一个字符数是否等于 9
。
我必须处理的字符串或数字是 831
、519
或 1351
。
但是我不知道如何正确地做到这一点。我已经尝试过类似的东西:
${string?replace((string.length)-1,"9")}
最后应该有而不是 831
--> 839
或 1351
--> 1359
等等。
关于我如何存档的任何建议?
哦,顺便说一下。如果我使用上面的功能,则会出现此错误消息:
Script error: You have used ?number on a string-value which is not a number (or is empty or contains spaces).
我尝试的也是:
code snippet
因为原始数字有点像 831.896
.
您可以使用 string slicing 保留除最后一个字符以外的所有字符,如下所示:
<#assign string = "1234">
<#assign string = string[0..<string?length-1] + "9">
${string}
结果:
1239
既然要替换那个东西,就用?replace
。这会将最后一个字符替换为 9,如果最后一个字符不是 9 的数字:
${s?replace("[0-8]$", '9', 'r')}
我需要检查 ${string}
的最后一个字符数是否等于 9
。
我必须处理的字符串或数字是 831
、519
或 1351
。
但是我不知道如何正确地做到这一点。我已经尝试过类似的东西:
${string?replace((string.length)-1,"9")}
最后应该有而不是 831
--> 839
或 1351
--> 1359
等等。
关于我如何存档的任何建议?
哦,顺便说一下。如果我使用上面的功能,则会出现此错误消息:
Script error: You have used ?number on a string-value which is not a number (or is empty or contains spaces).
我尝试的也是:
code snippet
因为原始数字有点像 831.896
.
您可以使用 string slicing 保留除最后一个字符以外的所有字符,如下所示:
<#assign string = "1234">
<#assign string = string[0..<string?length-1] + "9">
${string}
结果:
1239
既然要替换那个东西,就用?replace
。这会将最后一个字符替换为 9,如果最后一个字符不是 9 的数字:
${s?replace("[0-8]$", '9', 'r')}