Find() มีคำนี้ในนั้นไหม?

ในการเปรียบเทียบว่ามี "คำนี้" "วลีนี้" อยู่ในข้อความของเรามั๊ย python มีวิธีการทำที่ง่ายมากคือนำเอาข้อความไปใส่ในตัวแปร แล้วใช้ฟังก์ชั่น find() ซึ่งฟังก์ชั่นจัดการค่าในตัวแปรนั้น python จะให้เรียกใช้โดยการอ้างถึงชื่อตัวแปรนั้นๆแล้วต่อท้ายด้วย . (จุด) แล้วตามด้วยชื่อฟังก์ชั่นที่ต้องการครับ ลองดูจาก code ข้างล่างนี้จะเข้าใจง่ายขึ้นครับ

> ชุดคำสั่ง
word = 'Happy Birth Day to You'
print (word.find('You'))

> ผลลัพธ์
19

ขออธิบายเพิ่มนิดหน่อยนะครับ บรรทัดแรกนั้นเราก็เอาข้อความของเราใส่ลงในตัวแปร word จากนั้นเราก็เรียกฟังก์ชั่น find() และที่เราใช้คำว่า word.find('You') ก็คือจะหาคำว่า 'You' จากทั้งประโยคนั่นเอง ส่วนผลลัพธ์ได้ค่าตัวเลข 19 เป็นการบอกว่าหาเจอนะ 'You' อยู่ในลำดับที่ 19 นับจากตัวอักษรตัวแรก อ้อ! ถ้าคุณยังไม่รู้ python เค้าเริ่มนับจาก 0 ครับ ( 0 ก็คือตัวอักษร H นั่นเอง )

ตรงนี้จึงมีข้อสังเกตว่า...

  • find() ไม่ได้ตอบมาตรงๆว่า "มี" หรือ "ไม่มี" แต่ตอบมาเป็น "ตำแหน่งตัวอักษรที่เจอ"
  • หากเค้าตอบว่า 0 ไม่ได้หมายความว่าไม่มี แต่บอกว่า "มี" แต่เริ่มต้นอยู่ในตัวอักษรลำดับที่ 0
  • งั้นถ้าคำตอบคือไม่มีล่ะ มันจะบอกยังไง? .... มันจะบอกว่า -1 ครับ
ดังนั้นหากต้องการรู้แค่ว่า "มี" หรือ "ไม่มี" เราจะใช้ความรู้ข้างต้นนี้ไปเปรียบเทียบหาความจริงต่อด้วยคำสั่ง if นั่นเองครับ ดูตัวอย่างการใช้งานดัง code ข้างล่างนี้อีกนิดครับ

> ชุดคำสั่ง
word = 'Happy Birth Day to You'
if  (word.find('You') != -1) :
    print ("Yes, this word contained 'You'.")
else :
    print ("No, this word never says about 'You'.")

> ผลลัพธ์
Yes, this word contained 'You'.

และแน่นอนว่าผลลัพธ์คือมี 'You' ในข้อความว่า 'Happy Birth Day to You' เค้าพูดถึงคุณนั่นแหละครับ ก็แหม..ถ้าผลลัพธ์ออกมาว่า No, this word never says about 'You'. ไม่นะ "เค้าไม่ได้พูดถึงคุณ" แต่คุณดันไปทึกทักเอาเองว่าเค้าสน แหม! เจอแบบนี้ก็คงหน้าชากันไป 55+ 

เห็นมั๊ยครับ python เรียนง่ายและสนุก ไว้เจอกันใหม่ตอนหน้านะครับ

ไม่มีความคิดเห็น:

ขับเคลื่อนโดย Blogger.