การแยกสตริงที่อยู่ออกเป็นตัวแปรแยกต่างหาก - Coldfusion

Aug 18 2020

ฉันประสบปัญหาในการแยกฟิลด์ที่อยู่ในฐานข้อมูลของฉันออกเป็นส่วนประกอบแยกต่างหาก

ฉันกำลังดึงข้อมูลที่อยู่จากฐานข้อมูลของฉันที่เก็บไว้ในคอลัมน์ # company_address # ข้อมูลจะมีลักษณะเช่นนี้เมื่อฉันส่งออก:

Address1 Address2 (ไม่ปรากฏเสมอไป) City, State Zip (บางครั้งจะมีเครื่องหมายจุลภาคบางครั้งก็ไม่มี)

ฉันต้องการแยกสตริงใน # company_address # และกำหนดแต่ละส่วนของที่อยู่ให้กับตัวแปรของตัวเอง: variable1 - address1 variable2 - address2 variable3 - city variable4 - state variable5 - zip

เมื่อฉันมีข้อมูลนั้นฉันจะป้อนข้อมูลกลับเข้าไปในฐานข้อมูลในรูปแบบที่แยกจากกัน

ฉันได้ลองใช้ฟังก์ชัน listtoarray แล้ว แต่มันกำหนดสตริงทั้งหมดให้กับองค์ประกอบอาร์เรย์เดียวและดูเหมือนว่าจะข้ามบรรทัด 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)>