แสดงบทความที่มีป้ายกำกับ Xquery แสดงบทความทั้งหมด
แสดงบทความที่มีป้ายกำกับ Xquery แสดงบทความทั้งหมด

22/3/59

การใช้ฟังก์ชัน fn:substring-after ใน XQuery Function เพื่อตัดข้อความหน้าข้อความที่ต้องการ

การใช้ฟังก์ชัน fn:substring-after ใน XQuery Function เพื่อตัดข้อความหน้าข้อความที่ต้องการ

การใช้ฟังก์ชัน fn:substring-after ใน XQuery Function เพื่อตัดข้อความหน้าข้อความที่ต้องการ โดยการค้นหาคำที่ต้องการจะค้นหาจากหลังมา ซึ่งต่างจาก fn:substring-before ซึ่งจะค้นหาจากหน้ามา

เรามาดูตัวอย่างและวิธีการใช้ฟังก์ชัน fn:substring-after กันครับ

fn:substring-after($arg1 as xs:string?, $arg2 as xs:string?) as xs:string
fn:substring-after($arg1 as xs:string?, $arg2 as xs:string?, $collation as xs:string) as xs:string

fn:substring-after เป็นการตัดสตริงที่ต้องการ โดยการตัดนั้นจะตัดข้อความทั้งหมดหลังข้อความที่กำหนด

ตัวอย่างการเรียกใช้ฟังก์ชัน fn:substring-after ใน Xquery Function

มาลองเขียนฟังก์ชันเพื่อลองทดสอบดู


เมื่อเขียนเสร็จมาลองเทสฟังก์ชันที่ได้เขียนขึ้นดูจะได้ดังรูปด้านล่าง


จากรูปจะเห็นการเรียกใช้ฟังก์ชันแบบคร่าว ๆ และการแสดงผลค่าที่รีเทิร์นออกมา มาลองดูกรณีอื่น ๆ ที่น่าสนใจกัน

substring-after('query', 'u')
-> ery

substring-after('queryquery', 'ue')
-> ryquery

ดูฟังก์ชัน Xquery อื่น ๆ ได้ที่ http://www.doesystem.info/p/xquery.html

21/3/59

การใช้ฟังก์ชัน fn:substring-before ใน XQuery Function เพื่อตัดข้อความก่อนข้อความที่ต้องการ

การใช้ฟังก์ชัน fn:substring-before ใน XQuery Function เพื่อตัดข้อความก่อนข้อความที่ต้องการ

เรามาดูตัวอย่างและวิธีการใช้ฟังก์ชัน fn:substring-before กันครับ

fn:substring-before($arg1 as xs:string?, $arg2 as xs:string?) as xs:string
fn:substring-before($arg1 as xs:string?, $arg2 as xs:string?, $collation as xs:string) as xs:string

fn:substring-before เป็นการตัดสตริงที่ต้องการ โดยการตัดนั้นจะตัดข้อความทั้งหมดก่อนข้อความที่กำหนด

ตัวอย่างการเรียกใช้ฟังก์ชัน fn:substring-before ใน Xquery Function

มาลองเขียนฟังก์ชันเพื่อลองทดสอบดู


เมื่อเขียนเสร็จมาลองเทสฟังก์ชันที่ได้เขียนขึ้นดูจะได้ดังรูปด้านล่าง


จากรูปจะเห็นการเรียกใช้ฟังก์ชันแบบคร่าว ๆ และการแสดงผลค่าที่รีเทิร์นออกมา มาลองดูกรณีอื่น ๆ ที่น่าสนใจกัน

substring-before('query', 'r')
-> que

substring-before('queryquery', 'ery')
-> qu

ดูฟังก์ชัน Xquery อื่น ๆ ได้ที่ http://www.doesystem.info/p/xquery.html

การใช้ฟังก์ชัน fn:substring ใน XQuery Function เพื่อตัดข้อความที่ต้องการ

การใช้ฟังก์ชัน fn:substring ใน XQuery Function เพื่อตัดข้อความที่ต้องการ

เรามาดูตัวอย่างและวิธีการใช้ฟังก์ชัน fn:substring กันครับ

fn:substring($sourceString as xs:string?, $startingLoc as xs:double) as xs:string
fn:substring( $sourceString as xs:string?, $startingLoc as xs:double, $length as xs:double) as xs:string

fn:substring เป็นฟังก์ชันที่เอาไว้สำหรับ substring หรือตัดสตริง โดยมีการกำหนด $startingLoc สำหรับตัวเริ่มต้นที่ต้องการจะตัด ซึ่งตัวแรกในการจะตัดนั้นจะเริ่มที่ 1(ไม่ใช่ 0) และมี optional $length เป็น argument ที่เอาไว้สำหรับบอกว่าจำนวนที่ต้องการจะตัดสตริง ถ้าเราไม่ได้กำหนด $length จะเป็นการเอาสตริงที่เหลือทั้งหมด

fn:substring จะรีเทิร์นค่าเป็นสตริงที่เหลือจากการตัด

ตัวอย่างการเรียกใช้ฟังก์ชัน fn:substring ใน Xquery Function

มาลองเขียนฟังก์ชันเพื่อลองทดสอบดู


เมื่อเขียนเสร็จมาลองเทสฟังก์ชันที่ได้เขียนขึ้นดูจะได้ดังรูปด้านล่าง


จากรูปจะเห็นการเรียกใช้ฟังก์ชันแบบคร่าว ๆ และการแสดงผลค่าที่รีเทิร์นออกมา มาลองดูกรณีอื่น ๆ ที่น่าสนใจกัน

substring('query', 1)
-> query

substring('query', 1, 1)
-> q

substring('query', 2, 3)
-> uer

substring('query', 2, 850)
-> uery

substring('query', -2)
-> query

substring('query', -2, 5)
-> qu

fn:substring((), 1, 3)
-> ""

ดูฟังก์ชัน Xquery อื่น ๆ ได้ที่ http://www.doesystem.info/p/xquery.html

การใช้ฟังก์ชัน fn:tokenize ใน XQuery Function เพื่อ splite string

การใช้ฟังก์ชัน fn:tokenize ใน XQuery Function เพื่อ splite string

เรามาดูวิธีการใช้ฟังก์ชัน tokenize ใน XQuery Function กันครับ

fn:tokenize เป็นฟังก์ชันสำหรับการ splits a string หรือแยกสตริง โดยใช้ regular expression

ตัวอย่างการเรียกใช้ฟังก์ชัน tokenize ใน XQuery Function

มาลองเขียนฟังก์ชันเพื่อลองทดสอบดู


เมื่อลองทำการ Test ฟังก์ชันดู จะได้ผลลัพธ์ตามรูปด้านล่าง


จากรูปจะเห็นตัวอย่างการเรียกใช้ฟังก์ชันคร่าว ๆ แล้ว มาลองดูกรณีอื่น ๆ ที่น่าสนใจกัน

tokenize('a b c', '\s')
-> ('a', 'b', 'c')

tokenize('a   b c', '\s')
-> ('a', '', '', 'b', 'c')

tokenize('a   b c', '\s+')
-> ('a', 'b', 'c')

tokenize((), '\s+')
-> ()

tokenize('a,xb,xc', ',|,x')
-> ('a', 'xb', 'xc')

ดูฟังก์ชัน Xquery อื่น ๆ ได้ที่ http://www.doesystem.info/p/xquery.html

19/3/59

การใช้ฟังก์ชัน fn:ends-with ใน XQuery Function เพื่อค้นหาว่าลงท้ายด้วยคำที่ต้องการหรือไม่

การใช้ฟังก์ชัน fn:ends-with ใน XQuery Function เพื่อค้นหาว่าลงท้ายด้วยคำที่ต้องการหรือไม่

เรามาดูวิธีการใช้ฟังก์ชัน ends-with ใน XQuery Function กันครับ

fn:ends-with เป็นฟังก์ชัน ที่ return ค่า xs:boolean จะเป็นฟังก์ชันเอาไว้สำหรับเปรียบเทียบว่า string($arg1) นั้นมีตัวอักษรที่ลงท้ายด้วย string ตัวที่สองหรือเปล่า string($arg2) ซึ่งฟังก์ชันนี้จะรวมไปถึงการเปรียบเทียบช่องว่างด้วย ดังนั้นก่อนที่เราจะเรียกฟังก์ชันนี้ เราควรจะใช้ฟังก์ชัน fn:normalize-space เพื่อทำการ trim สตริงพวกนั้นก่อนเรียกฟังก์ชันนี้

ตัวอย่างการเรียกใช้ฟังก์ชัน ends-with ใน XQuery Function

มาลองเขียนฟังก์ชันเพื่อลองทดสอบดู


เมื่อลองทำการ Test ฟังก์ชันดู จะได้ผลลัพธ์ตามรูปด้านล่าง


จากรูปจะเห็นตัวอย่างการเรียกใช้ฟังก์ชันคร่าว ๆ แล้ว มาลองดูกรณีอื่น ๆ ที่น่าสนใจกัน

ends-with('doesystem', 'tem')
-> true

ends-with('doesystem', 'm')
-> true

ends-with('doesystem', '')
-> true

ends-with('doesystem ', 'm')
-> false

ends-with('', 'm')
-> false

ดูฟังก์ชัน Xquery อื่น ๆ ได้ที่ http://www.doesystem.info/p/xquery.html