«

»

Aug 28

Print this Post

Como posso completar uma variável com espaços ou outros caracteres?

Se voce precisa completar uma variável ColdFusion com espaços, então voce pode usar as funções rjustify() and ljustify(). Por exemplo:


<cfset newText = rjustify("foo", 35)>
<cfoutput>#newText#</cfoutput>

Se voce alguma vez precisar completar uma variável ColdFusion com caracteres outros que não espaço (i.e. trocar ‘name’ por ‘name—-‘), então a função repeatString() é a mais indicada. Por exemplo:


<cfset origText = "name">
<cfset paddingChar = "-">
<cfset paddingCount = 5>
<cfset newText = origText & repeatString(paddingChar, paddingCount)>
<cfoutput>#newText#</cfoutput>

Agora, vamos avançar um pouco mais. Suponha que voce está tentando formatar um email e voce quer completar (pad) para um comprimento menos o tamanho da string de tal forma que voce possa obter as linhas de texto alinhadas. Tudo que voce precisa fazer é usar a funçãolen() para cuidar do comprimento do texto que voce está tentando completar.


<cfset origText = "name:">
<cfset paddingChar = "-">
<cfset paddingCount = 10>
<cfset newText = origText & repeatString(paddingChar, paddingCount - len(origText) ) >
<cfoutput>#newText#</cfoutput>Jeremy

Voce pode facilmente colocar isso em uma função customizada:


<cfscript>
function printWithPad(str,pad) {
     var padchar = '-';
     if(arrayLen(arguments) gte 3) padchar = arguments[3];
     if(len(str) gte pad) return str;
     return str & repeatString(padchar, pad - len(str));
}
</cfscript>
<cfoutput>#printWithPad("name:",10)#</cfoutput>Jeremy<br />
<cfoutput>#printWithPad("country:",10)#</cfoutput>USA<br />

by Jeremy Petersen

Permanent link to this article: http://ensina.me/coldfusion/como-posso-completar-uma-variavel-com-espacos-ou-outros-caracteres/

Leave a Reply