在 Coldfusion 中为字符串添加空格

Jim*_*son 1 string coldfusion whitespace concatenation append

我需要在字符串的末尾添加空格。

ColdFusion 似乎会自动删除我尝试添加的任何空格,有时我会得到 1 个空格字符,但仅此而已。

我有一个输入字段,一个字符串,最长可达 7 个字符。如果输入少于 7 个字符,我要用空格填充结尾。

有谁知道使用coldfusion 实现这一点的快速、简单、直观的方法。尽可能少的代码是首选。

我尝试的一些解决方案是:

 #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 & '&nbsp;'>
</CFLOOP>
Run Code Online (Sandbox Code Playgroud)

Sco*_*roz 5

您可以使用 repeatString()

<cfset form.strInput = form.strInput & repeatString( ' ', max( 7-len(form.strInput), 0 ) ) />
Run Code Online (Sandbox Code Playgroud)

但是,请记住,如果您尝试在网页上显示多个连续空格,浏览器将只“显示”第一个。

  • 您的代码解决方案存在一个问题。如果 len(form.strInput) 大于 7,那么这将抛出一个错误,因为第二个参数将变成负数。 (2认同)
  • 如果您没有使用旧版本的 ACF,我可以建议使用 `&amp;=` 进行连接,ACF 和 Lucee 现在都支持:`form.strInput &amp;= RepeatString()` (2认同)