Suddivisione di una stringa di indirizzo in variabili separate - Coldfusion

Aug 18 2020

Ho avuto difficoltà a suddividere un campo indirizzo nel mio database in componenti separati.

Sto estraendo i dati dell'indirizzo dal mio database che è memorizzato nella colonna #company_address# . I dati appaiono così quando li emetto:

Indirizzo1 Indirizzo2 (Non sempre presente) Città, Stato CAP (A volte c'è una virgola, a volte no)

Vorrei suddividere la stringa in #company_address# e assegnare ciascuna parte dell'indirizzo alla propria variabile: variabile1 - indirizzo1 variabile2 - indirizzo2 variabile3 - città variabile4 - stato variabile5 - zip

Una volta che avrò quei dati, li inserirò nuovamente nel db nella sua forma separata.

Ho provato a utilizzare la funzione listtoarray ma assegna l'intera stringa a un elemento dell'array e sembra saltare completamente la riga address2.

Ecco il codice che sto usando:

<!--- 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>

Qualcuno può aiutare??

Risposte

3 rrk Aug 17 2020 at 22:49

Il problema è che stai usando chr(13)come una stringa. Utilizza il seguente.

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