私は自分自身にColdFusionを教えようとしています。
私はこの形式でデータベースから入ってくる文字列を持っています:
domain.com
<br/>
www.facebook.com/facebookpage
<br/>
http://instagram.com/instagrampage
すべては#getRacer.txtDescription#から取得されます。このテキストの形式は常に同じです。
3つの変数に分割する必要があります。私はこれを試しました(Adobe Webサイトの例から派生)
<h3>ListToArray Example</h3>
<cfset myList = ValueList(getRacer.txtDescription)>
<p>My list is a list with <cfoutput>#ListLen(myList)#</cfoutput> elements.
<cfset myArrayList = ListToArray(myList,'<br/>')>
<p>My array list is an array with
<cfoutput>#ArrayLen(myArrayList)#</cfoutput> elements.
どういうわけか、配列に11個のアイテムができました。
ありがとうございました
これは動作するはずです。
_<cfset TestSTring = "domain.com<br/>www.facebook.com/facebookpage<br/>http://instagram.com/instagrampage">
<cfset a = TestString.Split("<br/>")>
_
ListtoArray
が11個のアイテムを表示する理由は、ColdFusionは区切り文字列(_<br/>
_)の各文字を個別の区切り文字として処理するためです
@Leighのコメントを更新して、Java functions、<cfset a = ListToArray(TestString, "<br/>", false, true)>
も機能します。Leighに感謝します。
注:末尾のfalse
はincludeEmptyFields
フラグ用で、true
はmultiCharacterDelimiter
フラグ用です。 ドキュメントを参照 。
<cfset myList = ReplaceNoCase(getRacer.txtDescription,'<br/>','|','ALL')>
<cfset myArrayList = ListToArray(myList,'|')>
パイプ文字を選択したのは、既に文字列に存在する可能性が低いためです。 BRタグがXML構文を使用する場合と使用しない場合の可能性を考慮したい場合は、正規表現を使用できます。
<cfset myList = ReReplaceNoCase(str,'<br/?>','|','ALL')>
<cfset myArrayList = ListToArray(myList,'|')>