คุณเคยพบกับสถานการณ์ที่ต้องการรับค่าบางอย่างจากสตริงแต่ไม่รู้ว่าจะเริ่มต้นจากตรงไหน? คุณเคยรู้สึกสับสนเกี่ยวกับวิธีการเขียนแยกในหนังสือหรือหนังสือเรียนหรือไม่ หากคุณมีคำถามนี้ โปรดอ่านคำอธิบายของฉันในตัวอย่างด้านล่าง ฉันเชื่อว่าคุณจะมีความเข้าใจในเรื่องนี้
ก่อนอื่นให้ฉันแนะนำการใช้ฟังก์ชัน Split ก่อน:
ส่งกลับอาร์เรย์ค่า = แยก ("สตริง", "คั่น")
สมมติว่าตัวแปร strURL เก็บค่า URL เช่น strURL = " ftp://username:password@server " นี่คือรูปแบบ URL เมื่อเราเข้าสู่ระบบ FTP ใน IE หากเราต้องการนำชื่อผู้ใช้และรหัสผ่านออก จะทำอย่างไร? แน่นอนว่ามีวิธีแก้ไขปัญหามากมาย ที่นี่เราจะแนะนำโซลูชันโดยใช้ Split เท่านั้น อันดับแรก เราจะหาตัวคั่น เราพบว่าในสตริงนี้มีเครื่องหมายโคลอนอยู่ระหว่างชื่อผู้ใช้และรหัสผ่าน ดังนั้นเราจึงใช้เครื่องหมายโคลอนนี้เป็น "ตัวคั่น" ของฟังก์ชัน Split เพื่อแยกสตริงทั้งหมด และในที่สุดก็บรรลุวัตถุประสงค์ในการดึงชื่อผู้ใช้และรหัสผ่าน รหัสมีดังนี้:
strURL = " ftp://ชื่อผู้ใช้:รหัสผ่าน@เซิร์ฟเวอร์ "
aryReturn = Split(strURL,///)
ด้วยวิธีนี้ เราแยกสตริงด้วยโคลอน และผลลัพธ์การแยกจะถูกเก็บไว้ใน aryReturn (aryReturn คืออาร์เรย์)
มาดูผลลัพธ์สุดท้ายกันดีกว่า เนื่องจากในที่สุดฟังก์ชัน Split จะส่งคืนอาร์เรย์ เราจึงแสดงองค์ประกอบในอาร์เรย์เป็นหลัก ซึ่งเกี่ยวข้องกับฟังก์ชันบางอย่างที่เกี่ยวข้องกับอาร์เรย์: IsArray() กำหนดว่าเป็นฟังก์ชัน LBound() รับตัวห้อยของอาร์เรย์ และ UBound() รับตัวยกของอาร์เรย์
Response.Write("ค่าที่ส่งคืนเป็นอาร์เรย์:" & IsArray(aryReturn) & "<br>")
สำหรับ i = LBound(aryReturn) ถึง UBound(aryReturn)
Response.Write("องค์ประกอบในอาร์เรย์ค่าตอบแทน [" & i & "]: " & Right(aryReturn(i),Len(aryReturn(i))-2) & "<br>")
ต่อไปจาก
โค้ดข้างต้น เราจะเห็นว่าสตริงถูกแบ่งออกเป็นสามส่วน ได้แก่: "ftp", "//username", " password@server " เราจำเป็นต้องประมวลผลชื่อผู้ใช้และรหัสผ่านเพิ่มเติม ดังนั้นฉันจะไม่ลงรายละเอียดและให้รหัสโดยตรง
รับรหัสชื่อผู้ใช้:
strUsername = ขวา(aryReturn(1),Len(aryReturn(1))-2)
รหัสในการรับรหัสผ่าน:
'เราใช้ฟังก์ชัน Split อีกครั้งเพื่อรับรหัสผ่าน แต่คราวนี้ตัวคั่นคือ "@"
aryTemp = แยก(aryReturn(2),"@")
strPassword = aryTemp(0)
'ยังไงก็เอาเซิร์ฟเวอร์ออกไปได้'
strServer = aryTemp(1)
ตัวคั่นอาจเป็นอักขระหรือสตริงก็ได้ ชอบ:
aryReturn = Split(" ftp://username:password@server,"// ")
หมายเหตุ:
1. โดยทั่วไปแล้ว ไม่จำเป็นต้องประกาศตัวแปรใน ASP เมื่อใช้ฟังก์ชัน Split หากคุณต้องการประกาศตัวแปรที่ส่งคืนค่า คุณสามารถใช้ Dim เท่านั้น ไม่สามารถใช้ Redim ได้ แม้ว่าจะมีการกล่าวกันว่าการส่งคืนเป็นอาร์เรย์ แต่ก็ควรใช้ Redim ได้ แต่การใช้งานจริงไม่สามารถทำได้ ฉันไม่รู้ว่าเกิดอะไรขึ้น?
2. หากใช้ฟังก์ชัน Split เพื่อแยกสตริงด้วยตัวคั่นที่ไม่มีอยู่ สตริงทั้งหมดจะถูกส่งกลับ และผลลัพธ์จะเป็นอาร์เรย์ที่มีองค์ประกอบเดียวเท่านั้น
หลังจากนั้น หากคุณต้องการแยกอักขระหรือบางส่วนออกจากสตริง ตราบใดที่คุณเข้าใจกฎและใช้การแยก คุณก็สามารถสร้างเอฟเฟกต์ต่างๆ ได้ ฉันเขียนบทความนี้โดยหวังว่าจะเป็นประโยชน์กับการศึกษาของทุกคน และฉันก็หวังว่าผู้เชี่ยวชาญจากทุกสาขาอาชีพสามารถให้คำแนะนำได้บ้าง!