CHAPTER 7 String Functions and Regular Expression

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
โปรแกรมภาษาโลโก (logo)
Advertisements

ข้อมูลชนิดสตริง String บทที่ 8
BC320 Introduction to Computer Programming
Data Type part.II.
หลักการโปรแกรม 1 Lecture 3: ตัวแปร, นิพจน์คณิตศาสตร์, การคำนวณทางคณิตศาสตร์,การดำเนินการกับสายอักขระ.
องค์ประกอบของโปรแกรม
Week 6 ประกาศค่าตัวแปร.
รับและแสดงผลข้อมูล.
Lab 3: คำสั่งพื้นฐานสำหรับการรับและการแสดงผลข้อมูล
ASP [# 8] ฟังก์ชั่นที่ใช้เกี่ยวกับการตัดคำ
การสร้าง Random ตัวเลขซ้ำและไม่ซ้ำ การเรียกดูไฟล์ในโฟลเดอร์ Function
Week4 Data types, Variables, Operators and Input/output (ต่อ)
ฟังก์ชันของ PHP ฟังก์ชันคือ โปรแกรมย่อยที่สามารถประมวลผล และ คืนผลลัพธ์จาการประมวลผลนั้นสู่โปรแกรมหลักได้ ซึ่งจำเป็นในการเขียนโปรแกรมเพื่อช่วยให้การทำงานมีประสิทธิภาพที่สูงขึ้น.
Functions & Sub Program ฟังก์ชันและโปรแกรมย่อย
การจัดการข้อมูลด้วยคอมพิวเตอร์
FUNCTION File Week 7 by Mr. Jiraphan Srisomphan. 2 แสดงชื่อไฟล์ในไดเรกทรอรี่ด้วย Dir() >Handle-> เก็บค่าเลขรหัสของได เรกทรอรี่ที่สร้างขึ้น >Path-> เก็บรายชื่อพาธของไดเรก.
การเขียนโปรแกรมเชิงวัตถุ ด้วยภาษาจาวา
บทที่ 3 ตัวดำเนินการ และ นิพจน์
Chapter 4 Server-side Technologies
บทที่ 2 ประเภทข้อมูล (DATA TYPE)
การจำแนกตัวอักษรออกจากบรรทัดข้อความ
Javascript.
การแสดงข้อความ echo - echo “Hello”; // Hello - $text = “ World”;
ตัวแปร (variable) ตัวแปร เป็นชื่อที่เราตั้งขึ้น เพื่อให้คอมพิวเตอร์เตรียมที่ใน หน่วยความจำไว้สำหรับเก็บข้อมูลที่นำไปประมวลผล การตั้งชื่อตัวแปร ชื่อตัวแปรในภาษา.
Regular expression.
สตริง (String).
ตัวแปร (Variable) คือ ชื่อที่ตั้งขึ้นเพื่อเก็บข้อมูลในหน่วยความจำ สามารถเก็บข้อมูลชนิดใดก็ ได้ ลักษณะที่สำคัญ ค่าที่จัดเก็บ เมื่อปิดโปรแกรมข้อมูลจะหายไป.
เครื่องนักศึกษา  c:\appserv\www\ชื่อนักศึกษา\ชื่อไฟล์.php
ตัวดำเนินการ(Operator)
ชนิดของข้อมูล ตัวแปร และตัวดำเนินการ
การใช้ฟังก์ชั่นทาง EXCEL
ครูรัตติยา บุญเกิด.
นิพจน์และตัวดำเนินการ
ง30212 พื้นฐานการเขียนโปรแกรม ศูนย์คอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม
คำสั่งแสดงผลในภาษา PHP
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Java Programming Language.
ฟังก์ชั่นเกี่ยวกับสตริง
บทที่ 10 การทำงานกับ ข้อความ (string). สตริงในภาษา PHP ASCII (American Standard Code for Information Interchange) จำนวน 8 บิต เก็บได้ 256 ตัว Unicode.
ตัวแปรกับชนิดของข้อมูล
ตัวแปร ชนิดข้อมูล และ ตัวดำเนินการใน PHP
การประมวลผลสายอักขระ
บทที่ 8 ตัวดำเนินการ และ นิพจน์
ความหมาย การประกาศ และการใช้
การใช้โปรแกรม Microsoft Word 2007
Operators ตัวดำเนินการ
บทที่ 4 นิพจน์ทางคณิตศาสตร์.
CHAPTER 4 Control Statements
CHAPTER 3 System Variables and Array
CHAPTER 12 FORM.
ความรู้เบื้องต้นเกี่ยวกับการเขียนโปรแกรม PHP
การใช้งาน ฐานข้อมูล การเขียนเว็บเพจด้วยภาษา php ศูนย์คอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม.
Overview of C Programming
คำสั่งรับค่า และ แสดงผลค่า. คำสั่งรับ - แสดงผล 1. printf( ) เป็น ฟังก์ชันที่ใช้ในการ แสดงผลข้อมูลที่อยู่ในตัว แปร ค่าคงที่ นิพจน์ออกมา ทางจอภาพ.
กองซ้อน ยอดกองซ้อน (stack).
ตัวดำเนินการ และนิพจน์คณิตศาสตร์
บทที่ 10 สตริง.
การเขียนโปรแกรมคอมพิวเตอร์ 1
stack #2 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
CHAPTER 13 MySQL and phpMyAdmin
CHAPTER 6 Mathematical Functions and Date/Time Functions.
หลักการเขียนโปรแกรม ( )
ตัวแปร และชนิดข้อมูล.
บทที่ 5 Function. Function Function เป็นการแบ่งโค้ดโปรแกรมออกเป็นส่วนย่อยๆ เพื่อทำงานบางอย่าง - โค้ดโปรแกรมเรียงต่อกันยาว - สามารถเรียกใช้ Function ซ้ำได้
1 Functions กนกวรรธน์ เซี่ยงเจ็น สำนักวิชาเทคโนโลยีสารสนเทศ และการสื่อสาร มหาวิทยาลัยนเรศวร พะเยา.
การรับและแสดงผลข้อมูล (Input/Output)
โครงสร้างข้อมูลแบบ สแตก (stack)
ลิมิตและความต่อเนื่องของฟังก์ชัน
CHAPTER 2 Operators.
ค31212 คณิตศาสตร์สำหรับ คอมพิวเตอร์ 2
หลักการทั่วไปเกี่ยวกับการเขียนโปรแกรม
ใบสำเนางานนำเสนอ:

CHAPTER 7 String Functions and Regular Expression REST & SOAP CHAPTER 7 String Functions and Regular Expression

Agenda ฟังก์ชันเกี่ยวกับข้อความ (String Functions) REST & SOAP Agenda ฟังก์ชันเกี่ยวกับข้อความ (String Functions) นิพจน์ปกติ (Regular Expression)

ฟังก์ชันเกี่ยวกับข้อความ การตัดช่องว่างในสตริง - trim(ข้อความ) สำหรับตัดช่องว่างทั้งหมดที่อยู่ด้านหน้าและด้านหลัง ของสตริงทิ้งไป - ltrim(ข้อความ) ตัดช่องว่างที่อยู่ด้านหน้า(ทางซ้าย) ทิ้งไป - chop(ข้อความ) ตัดช่องว่างที่อยู่ด้านหลัง (ทางขวา) ทิ้งไป ข้อความที่อยู่ในวงเล็บ อาจเป็นข้อความจริงๆ หรือเป็นตัวแปรสตริงก็ได้ หากเป็นข้อความจริง ๆ ให้เขียนใน “ ”

trim() <? $str1 =" Computer Science\n\n"; print "String1 = ".$str1."<br>"; echo "Length of String1 = ".strlen($str1)."<br>"; $str2 = trim($str1); echo "Length of String2 = ".strlen($str2)."<br>"; ?>

ltrim() <? $str1 =" Computer Science\n\n"; print "String1 = ".$str1."<br>"; echo "Length of String1 = ".strlen($str1)."<br>"; $str2 = ltrim($str1); echo "Length of String2 = ".strlen($str2)."<br>"; ?>

chop() <? $str1 =" Computer Science\n\n\n"; print "String1 = ".$str1."<br>"; echo "Length of String1 = ".strlen($str1)."<br>"; $str2 = chop($str1); echo "Length of String2 = ".strlen($str2)."<br>"; ?>

nl2br() เปลี่ยน \n ให้เป็น <br> <? $str =" Computer\n Science\nChiang Mai\n\n"; print "String = ".$str."<br>"; echo “use nl2br() <br>"; echo "String = ".nl2br($str); ?>

การเปลี่ยนรูปแบบของตัวอักษร ฟังก์ชัน คำอธิบาย strtoupper(ข้อความ) strtolowar(ข้อความ) ucfirst(ข้อความ) ucwords(ข้อความ) แปลงประโยคให้เป็นตัวพิมพ์ใหญ่ แปลงประโยคให้เป็นตัวพิมพ์เล็ก แปลงตัวอักษรตัวแรกของประโยคให้เป็น ตัวพิมพ์ใหญ่ แปลงตัวอักษรตัวแรกของคำให้เป็นตัวพิมพ์ ใหญ่ ตัวอย่างคำสั่ง $str = “Please ENTER your name”; strtoupper($str); strtolower($str); ucfirst($str); ucwords($str);

การเปรียบเทียบ นับอักษร หาตำแหน่ง สลับ และซ้ำข้อความ การเปรียบเทียบ นับอักษร หาตำแหน่ง สลับ และซ้ำข้อความ ฟังก์ชัน คำอธิบาย strcmp(ข้อความ1,ข้อความ2) strlen(ข้อความ) strpos(ข้อความ,อักษร) stripos(ข้อความ,อักษร) strrpos(ข้อความ,อักษร) strripos(ข้อความ,อักษร) str_repeat(ข้อความ,จำนวน) เปรียบเทียบข้อความทั้งสองว่าเหมือนกันหรือไม่ นับจำนวนตัวอักษรในข้อความ หาตำแหน่งอักษรในข้อความ โดยถือว่าอักษรใหญ่เล็กต่างกัน ตำแหน่งแรกสุดนับเป็น 0 ถ้าไม่พบจะได้ผลลัพธ์เป็น False เหมือนกับ strpos แต่อักษรใหญ่เล็กถือว่าเหมือนกัน หาว่าตำแหน่งสุดท้ายของอักษรนั้นอยู่ตรงไหน โดยถือว่าอักษรใหญ่เล็กต่างกัน เหมือนกับ strrpos แต่อักษรใหญ่เล็กถือว่าเหมือนกัน สำหรับสร้างข้อความซ้ำกันหลาย ๆ ครั้งเท่ากับจำนวนครั้งที่ระบุ

การตัดข้อความบางส่วนออกมาใช้ ฟังก์ชัน คำอธิบาย strstr(ข้อความ,อักษร) stristr(ข้อความ,อักษร) strrchr(ข้อความ,อักษร) substr(ข้อความ,start,length) หาอักษร โดยถือว่าอักษรใหญ่เล็กต่างกัน เมื่อพบแล้วเริ่มตัดเอาข้อความตั้งแต่อักษรนั้นไปจนจบ เหมือนกับ strstr แต่อักษรใหญ่เล็กถือว่าเหมือนกัน หาอักษรเริ่มจากท้ายเข้ามา โดยถือว่าอักษรใหญ่เล็กต่างกัน เมื่อพบแล้วตัดเอาข้อความตั้งแต่ตัวอักษรนั้นไปจนจบข้อความ ตัดข้อความโดยเอาตั้งแต่ตำแหน่ง start (อักษรตัวแรกถือเป็นตำแหน่งที่ 0) และนับไปตามจำนวนที่ต้องการ (length)

นิพจน์ปกติ (Regular Expression) แทนที่ข้อมูลแบบสตริง ซึ่งคล้ายกับการใช้ฟังก์ชัน เปรียบเทียบและแทนที่ของสตริง แต่ regular expression จะสามารถกำหนดรูปแบบของสตริงได้มากกว่า เพื่อใช้ใน การค้นหาสตริงที่ใกล้เคียงกันได้ โดยใช้รูปแบบ(pattern) สำหรับตรวจสอบหลัก ๆ ดังนี้ ^ กำหนดให้เป็นจุดเริ่มต้นข้อความ $ กำหนดให้เป็นจุดสิ้นสุดข้อความ [A-Z] หมายถึงตัวอักษร A ถึง Z [a-z] หมายถึงตัวอักษร a ถึง z [0-9] หมายถึงตัวเลข 0-9

ฟังก์ชันสำหรับตรวจสอบค่าสตริง ฟังก์ชันการค้นหาสตริงย่อย - ereg(pattern,ข้อความ) ใช้สำหรับตรวจสอบข้อความและตัวอักษร ฟังก์ชันจะตี ความตัวอักษรพิมพ์ใหญ่และตัวอักษรพิมพ์เล็กแตกต่างกัน - eregi(pattern,ข้อความ) ใช้สำหรับการตรวจสอบข้อความและตัวอักษร โดยจะ ตีความตัวอักษรพิมพ์ใหญ่และตัวพิมพ์เล็กเหมือนกัน

ตัวอย่าง: การตรวจสอบรหัสไปรษณีย์ <? $zip = “10220”; if (!ereg(^[0-9] [0-9] [0-9] [0-9] [0-9]$)) echo “<br>$zip ผิดรูปแบบ กลับไปแก้ไขใหม่”; else echo “<br>$zip ถูกต้อง”; ?> ลองเปลี่ยนค่าตัวแปร $zip เป็นค่าต่าง ๆ ถูกต้อง K1022 ผิดรูปแบบ กลับไปแก้ไขใหม่ 1022 ผิดรูปแบบ กลับไปแก้ไขใหม่

ตัวอย่าง <? $str1 = "Computer Science, Chiang mai"; $com = "Chiang mai"; echo "Comparision string1<br>"; if (ereg($com,$str1)) echo "Found String<br>"; else echo "Not found <br>"; echo "Comparision string2<br>"; if (ereg($com,$str2)) echo "Comparision string2 with eregi<br>"; if (eregi($com,$str2)) ?>

ฟังก์ชันการแทนที่สตริงย่อย - ereg_replace(pattern,คำใหม่,ข้อความ) ใช้สำหรับแทนที่ข้อความและตัวอักษร ฟังก์ชันจะตี ความตัวอักษรพิมพ์ใหญ่และตัวอักษรพิมพ์เล็กแตกต่างกัน - eregi_replace(pattern,คำใหม่,ข้อความ) ใช้สำหรับแทนที่ข้อความและตัวอักษร โดยจะตีความตัว อักษรพิมพ์ใหญ่และตัวพิมพ์เล็กเหมือนกัน

การแทนที่คำในข้อความ ฟังก์ชัน คำอธิบาย str_replace(คำเดิม,คำใหม่,ข้อความ) stri_replace(คำเดิม,คำใหม่,ข้อความ) ereg_replace(pattern,คำใหม่,ข้อความ) eregi_replace(pattern,คำใหม่,ข้อความ) เปลี่ยนคำในข้อความ โดยแทนที่คำเดิมด้วยคำใหม่ และถือว่าอักษรเล็กใหญ่ต่างกัน เหมือน str_replace แต่จะถือว่าอักษรเล็กใหญ่เหมือนกัน ตรวจสอบข้อความ หากส่วนใดที่ตรงกับ pattern ให้เปลี่ยนแทนที่ด้วยคำใหม่ โดยถือว่าอักษรเล็กใหญ่ต่างกัน เหมือน ereg_replace แต่แต่จะถือว่าอักษรเล็กใหญ่เหมือนกัน

ตัวอย่าง echo “<br> หลัง: $str"; REST & SOAP สำหรับ str_replace และ stri_replace เหมาะสำหรับการค้นหาคำแบบตรง ๆ เพื่อเปลี่ยนเข้าไปแทนที่ เช่น เซ็นเซอร์คำไม่สุภาพ ส่วน ereg_replace และ eregi_replace เหมาะสำหรับการค้นหาในลักษณะเปรียบเทียบรูปแบบ pattern ที่ซับซ้อนกว่า ตัวอย่าง <? $str = “เดินยังกะควาย ควาย ควาย"; echo “<br> ก่อน: $str"; $str=str_replace(“ควาย”, “***”,$str); echo “<br> หลัง: $str"; ?> ผลลัพธ์ ก่อน: เดินยังกะควาย ควาย ควาย หลัง: เดินยังกะ*** *** ***

ฟังก์ชันการแบ่งสตริงแล้วเอาไปเก็บไว้ในอาร์เรย์ - split(pattern,ข้อความ) ใช้สำหรับแบ่งสตริงแล้วไปเก็บไว้ในอาร์เรย์ โดยจะตีความ ตัวอักษรพิมพ์ใหญ่และตัวพิมพ์เล็กต่างกัน - spliti(pattern,ข้อความ) ใช้สำหรับแบ่งสตริง โดยจะตีความตัวอักษรพิมพ์ใหญ่และ ตัวพิมพ์เล็กเหมือนกัน

ตัวอย่าง <? $str1 = "Computer Science, Chiang mai"; echo "before substring<br>"; echo "after substring<br>"; $array1 = split(" ",$str1); for ($i=0;$i<count($array1);$i++) echo "array1[$i]=$array1[$i]<br>"; echo "after substring with c<br>"; $array3 = spliti("c",$str1); for ($i=0;$i<count($array3);$i++) echo "array3[$i]=$array3[$i]<br>"; ?>