アドレス文字列を個別の変数に分割する-Coldfusion

Aug 18 2020

データベース内のアドレスフィールドを個別のコンポーネントに分割するのに苦労してきました。

列#company_address#に格納されているデータベースから住所データを取得しています。出力すると、データは次のようになります。

Address1 Address2(常に存在するとは限りません)市、州の郵便番号(カンマがある場合とない場合があります)

#company_address#の文字列を分割し、アドレスの各部分を独自の変数に割り当てたいと思います:variable1-address1 variable2-address2 variable3-city variable4-state variable5-zip

そのデータを取得したら、それを個別の形式でデータベースに入力し直します。

listtoarray関数を使用してみましたが、文字列全体が1つの配列要素に割り当てられ、address2行が完全にスキップされているようです。

これが私が使用しているコードです:

<!--- Select ticket record --->
 <cfquery name="get_ticket" datasource="#datasource#">
   SELECT *
   FROM closed_tickets
   where ticket_id = #url.ticket_id#
 </cfquery>

<cfoutput>

<cfset list = "#get_ticket.company_address#">
<cfset arr = listToArray (list, 'ch(13)' ,false,true)>
<cfdump var="#arr#">

</cfoutput>

誰か助けてもらえますか?

回答

3 rrk Aug 17 2020 at 22:49

問題はchr(13)、文字列として使用していることです。以下を使用してください。

<cfset arr = listToArray (list, chr(13) , false, true)>