【发布时间】:2020-09-16 03:54:52
【问题描述】:
我需要在字符串末尾添加空格。
ColdFusion 似乎会自动删除我尝试添加的任何空格,有时我会得到 1 个空格字符,但仅此而已。
我有一个输入字段,一个字符串,最长可达 7 个字符。如果输入少于 7 个字符,我将用空格填充结尾。
有谁知道使用冷融合实现此目的的快速、简单、直观的方法。代码越少越好。
我尝试过的一些解决方案是:
#LEFT(FORM.strInput & ' ', 7)#
#LEFT(FORM.strInput & ' 0', 7)#
#REPLACE(LEFT(FORM.strInput & 0000000, 7), '0', ' ', 'all')#
<CFLOOP FROM="1" TO="7 - LEN(FORM.strInput)">
<CFSET FORM.strInput = FORM.strInput & ' '>
</CFLOOP>
<CFLOOP FROM="1" TO="7 - LEN(FORM.strInput)">
<CFSET FORM.strInput = FORM.strInput & ' '>
</CFLOOP>
【问题讨论】:
-
您的第一个注释掉的代码可以完成工作。你在看什么让你认为它没有?
-
在哪里使用?如果您的意思是在 html 中显示空格字符,它会自动折叠多余的空格字符,即
chr(32)。您必须改用不间断空格&nbsp;。 trycf.com/gist/6e3557b943a2cf90b724fb7a86572e77/… -
当我将变量输出到屏幕时,只显示1个空格。前任。如果输入是 'BB1' 它会显示 'BB1' 而不是 'BB1' + space x7 但 LEN() 函数声明有 7 个字符所以我不确定。
-
@Agreax 根据你的意思,只要 LEN() 函数返回正确数量的字符,我应该没问题?我正在使用此输入来填充自定义 cf 标记的参数。我需要将此变量与空格一起传递给自定义 cf 标记。空格会和字符串一起传递吗?
-
Jimmy,如果
len()函数告诉你长度是7,那么它就是7。正如@Agreax 所说,永远不要依赖你看到的空白。验证输出的几种方法是在开发人员工具中使用 Inpect Element。另一种选择是使用预格式化的文本标签<pre>...<pre>显示输出,因为此标签不会忽略空格。
标签: string coldfusion append concatenation whitespace