Slicing String เป็นการตัดหรือดึงเอาส่วนหนึ่งของสตริงที่ต้องการออก โดยสามารถระบุตำแหน่งเริ่มต้นและจำนวนอักขระที่ต้องการคืนค่ากลับมา
ในภาษา PHP จะใช้ฟังก์ชัน substr() เพื่อดึงส่วนที่ต้องการออกมา จะประกอบด้วย 3 พารามิเตอร์ โดย 2 พารามิเตอร์เป็นค่าบังคับ และอีกหนึ่งพารามิเตอร์เป็นค่าเลือก โดยค่าเริ่มต้นจะเริ่มจาก 0
substr(ชื่อสตริง, ตำแหน่งเริ่มต้น, ความยาวสตริงที่จะตัด) //ตำแหน่งเริ่มต้นที่ 0
$x = "Hello World!";
echo substr($x, 6, 5); //เลือกสตริง x ตำแหน่งที่ 6 ความยาว 5 ตัวอักขระ
ผลลัพธ์
เราจะทำการเปรียบเทียบความแตกต่างของฟังก์ชัน substr() ของแต่ละภาษา โดยจะเปรียนเทียบกับภาษา c , Java , Python, JavaScript
$x = "Hello World!";
echo substr($x, 2, 5);
char greetings[] = "Hello World!";
printf("%s", greetings[2]);
String myStr = "Hello, World!";
System.out.println(myStr.substring(2, 5));
b = "Hello World!"
print(b[2:5])
let name = "marcuscode";
console.log(name.slice(0, 6)); // เลือกตำแหน่งที่ 0 ถึงตำแหน่งที่ 6
console.log(name.slice(6)); // เลือกตำแหน่งที่ 6 จนถึงตัวสุดท้าย
ผลลัพธ์
PHP : จะเลือกตัวอักขระตั้งแต่ตำแหน่งที่ 2 จำนวน ความยาว 5 ตัว นับจากตัวตำแหน่งที่ต้องการ
C : จะเลือกตำแหน่งที่ 2 ของสริงที่รับมา ถ้าต้องการตัวอักขระหลายตัวอาจจะต้องใช้ loop เข้ามาช่วย โดยจะทำการเก็บอักขระไว้ใน Array ก่อนจากนั้นจึงระบุตำแหน่งของอักขระที่ต้องการ ด้วย []
Java : จะเลือกตัวอักขระตำแหน่งที่ 2 ถึงตำแหน่งที่ 5 ของสตริงโดยจะใช้ฟังก์ชัน substring()
Python : จะเลือกตัวอักขระตำแหน่งที่ 2 ถึงตำแหน่งที่ 5 สามารถเลือกตำแหน่งที่่ต้องการได้โดยการเลือก ตำแหน่งที่ต้องการ ในที่นี้หมายถึงตำแหน่งที่ 2 ถึงตำแหน่งที่ 5 ของสตริง
JavaScript : จะเลือกจากตำแหน่งที่0 ถึงตำแหน่งที่ 6 และเลือกจากตำแหน่งที่ 6 จนถึงตำแหน่งสุดท้าย โดยคำสั่ง let newStr = str.slice(beginIndex[, endIndex]);
Positive Length : จะคืนค่าสตริงตามตำแหน่งที่ระบุโดยเริ่มจากตำแหน่งเริ่มต้นไปจนถึงความยาวของสตริง โดยจะมีค่าเป็นค่าบวกเสมอ ตัวอย่างเช่น
ผลลัพธ์
Negative Length : เป็นการระบุความยาวเป็นค่าลบ เพื่อดึงอักขระจากที่เริ่มต้นจากท้ายสุดของสตริง ตัวอย่างเช่น
จะเรียกใช้สตริงจาก $x โดยดึงค่าจากตำแหน่งที่ 5 ไปจนถึงตำแหน่งที่นับจากข้างหลังมา 3 ตัว นั่นก็คือตัว y
ผลลัพธ์
จะเรียกใช้สตริงจาก $x โดยดึงค่าจากตำแหน่งที่ 5 ไปจนถึงตำแหน่งที่นับจากข้างหลังมา 3 ตัว นั่นก็คือตัว y
ผลลัพธ์
เขียนได้อีกแบบคือ
ผลลัพธ์
ในกรณีนี้หมายถึง ตำแหน่งที่ 5 นับจากตัวสุดท้าย ในตัวอย่างนี้คือตัว o จำนวน 3 ตัว นับจากตำแหน่งเริ่มต้น
เขียนได้อีกแบบคือ
หรือการระบุตำแหน่งเริ่มต้นเป็นค่าลบ ตัวอย่างเช่น
ผลลัพธ์
ในกรณีนี้หมายถึง ตำแหน่งที่ 5 นับจากตัวสุดท้าย ในตัวอย่างนี้คือตัว o จำนวน 3 ตัว นับจากตำแหน่งเริ่มต้น
เขียนได้อีกแบบคือ
จะคืนค่าได้สองประเภทคือ
ส่งคืนส่วนที่แยกออกมาของสตริงหากประสบความสำเร็จ
ส่งคืน FALSE หรือสตริงว่าง หากการทำงานล้มเหลว
ใช้ศึกษาเรื่องความหมายของ Slicing และตัวอย่าง Function และ Negative Length
W3Schools. (n.d.). PHP slicing strings. W3Schools. https://www.w3schools.com/php/php_string_slicing.asp. Retrieved on October 10, 2024
ใช้ศึกษาตัวอย่างของหัวข้อและตัวอย่างของ Length
PHP. (n.d.). substr. PHP. https://www.php.net/manual/en/function.substr.php. Retrieved on October 10, 2024
ใช้ศึกษา Syntax ของ Slicing string และการ Return
Lenka, C. (2023, June 22). PHP substr() function. GeeksforGeeks. https://www.geeksforgeeks.org/php-substr-function/. Retrieved on October 10, 2024
ใช้ศึกษาตัวอย่างของภาษา C
W3Schools. (n.d.). Python slice strings. W3Schools. https://www.w3schools.com/python/gloss_python_string_slice.asp. Retrieved on October 10, 2024
ใช้ศึกษาตัวอย่างของภาษา Java
W3Schools. (n.d.). Java string substring() method. W3Schools. https://www.w3schools.com/java/ref_string_substring.asp. Retrieved on October 10, 2024
ใช้ศึกษาตัวอย่างของภาษา Python
W3Schools. (n.d.). C strings. W3Schools. https://www.w3schools.com/c/c_strings.php. Retrieved on October 10, 2024
Video Presentation