ในการเขียนโปรแกรม สตริงทำหน้าที่เป็นพื้นฐานสำหรับการทำงานกับข้อมูลที่เป็นข้อความ Python เป็นภาษาการเขียนโปรแกรมอเนกประสงค์และใช้กันอย่างแพร่หลาย นำเสนอเครื่องมือและเทคนิคอันทรงพลังมากมายสำหรับการจัดการ การจัดรูปแบบ และการใช้สตริงอย่างเต็มศักยภาพ
ในบทความนี้ เราจะเริ่มสำรวจสตริงใน Python ทีละขั้นตอน เราจะเริ่มต้นด้วยพื้นฐาน ครอบคลุมแก่นแท้ของสตริง ความสำคัญของสตริงในการเขียนโปรแกรม และวิธีการสร้างบล็อคพื้นฐานของการแสดงข้อความ
สตริงคืออะไร?
สตริงคือลำดับของอักขระที่อยู่ภายในเครื่องหมายคำพูดเดี่ยว ('...'
) เครื่องหมายคำพูดคู่ ("..."
) หรือเครื่องหมายคำพูดสาม ('''...'''
หรือ """..."""
) อักขระสามารถประกอบด้วยตัวอักษร ตัวเลข สัญลักษณ์ และช่องว่าง สตริงสามารถแสดงอะไรก็ได้ตั้งแต่อักขระแต่ละตัวไปจนถึงทั้งย่อหน้าของข้อความ
สตริงมีบทบาทสำคัญในการเขียนโปรแกรมเนื่องจากช่วยให้เราทำงานกับข้อมูลที่เป็นข้อความได้ ใช้เพื่อแสดงและจัดการคำ ประโยค ย่อหน้า เนื้อหาไฟล์ และอื่นๆ สตริงเป็นพื้นฐานสำหรับการสร้างอินเทอร์เฟซผู้ใช้ การประมวลผลอินพุตและเอาต์พุต การจัดการข้อมูล การวิเคราะห์ข้อความ และอื่นๆ อีกมากมาย
ใน Python สตริงไม่เพียงแต่ใช้เพื่อแสดงข้อความธรรมดาเท่านั้น แต่ยังใช้กับงานที่ซับซ้อน เช่น นิพจน์ทั่วไป การจัดการไฟล์ และอื่นๆ อีกมากมาย การทำความเข้าใจวิธีสร้าง จัดการ และจัดรูปแบบสตริงเป็นทักษะพื้นฐานสำหรับโปรแกรมเมอร์ Python
การสร้างสตริง
- เครื่องหมายคำพูดเดี่ยวและคู่สำหรับการสร้างสตริง
คุณสามารถสร้างสตริงโดยใช้ทั้งเครื่องหมายคำพูดเดี่ยวและเครื่องหมายคำพูดคู่ ซึ่งจะทำให้คุณสามารถเลือกประเภทของเครื่องหมายคำพูดที่ไม่ขัดแย้งกับอักขระภายในสตริงได้
single_quoted = 'This is a single-quoted string.' double_quoted = "This is a double-quoted string."
หากสตริงมีเครื่องหมายอะพอสทรอฟี คุณควรใส่เครื่องหมายคำพูดคู่ดังนี้:
text_with_apostrophe = "It's a Python string"
- สตริงที่ยกมาสามบรรทัดสำหรับข้อความหลายบรรทัด:
สตริงที่มีเครื่องหมายคำพูดสามอันใช้เพื่อสร้างสตริงหลายบรรทัด พวกเขาสามารถปิดล้อมด้วยเครื่องหมายคำพูดเดี่ยวสามตัวหรือเครื่องหมายคำพูดคู่สามตัวก็ได้
multiline_single = '''This is a multiline single-quoted string.''' multiline_double = """This is a multiline double-quoted string."""
- การหลีกอักขระภายในสตริง:
บางครั้งคุณจำเป็นต้องใส่อักขระที่มีความหมายพิเศษในสตริง เมื่อต้องการทำเช่นนี้ คุณสามารถใช้ลำดับหลีกได้โดยเพิ่มเครื่องหมายแบ็กสแลชหน้าอักขระพิเศษ
escaped_string = "This string contains a newline:\nSecond line starts here."
ในกรณีที่คุณจำเป็นต้องรวมแบ็กสแลชตามตัวอักษร คุณสามารถหลีกเลี่ยงได้โดยใช้แบ็กสแลชอื่น:
backslash_string = "To include a backslash: \\"
คุณยังสามารถใช้ลำดับหลีกสำหรับอักขระพิเศษอื่นๆ เช่น แท็บ (\t
) เครื่องหมายคำพูด (\"
หรือ \'
) และอื่นๆ
การดำเนินการสตริง
การต่อข้อมูล
การต่อข้อมูลหมายถึงกระบวนการรวมสองสตริงขึ้นไปเพื่อสร้างสตริงเดียวที่ยาวขึ้น ซึ่งสามารถทำได้โดยใช้ตัวดำเนินการ +
string1 = "Hello, " string2 = "world!" result = string1 + string2 print(result) # Output: "Hello, world!"
คุณยังสามารถเชื่อมสตริงเข้ากับตัวแปรได้:
name = "Alice" greeting = "Hello, " + name + "!" print(greeting) # Output: "Hello, Alice!"
การทำซ้ำ
คุณสามารถทำซ้ำสตริงได้หลายครั้งโดยใช้ตัวดำเนินการ *
word = "Hello" repeated_word = word * 3 print(repeated_word) # Output: HelloHelloHello
วิธีการสตริง
Python มีวิธีการสตริงในตัวที่หลากหลายเพื่อดำเนินการกับสตริง นี่คือตัวอย่างบางส่วน:
len()
: ส่งกลับความยาวของสตริงlower()
: แปลงสตริงเป็นตัวพิมพ์เล็กupper()
: แปลงสตริงเป็นตัวพิมพ์ใหญ่capitalize()
: ทำให้อักขระตัวแรกของสตริงเป็นตัวพิมพ์ใหญ่
text = "Hello, World!" length = len(text) lowercase_text = text.lower() uppercase_text = text.upper() capitalized_text = text.capitalize() print("Length:", length) print("Lowercase:", lowercase_text) print("Uppercase:", uppercase_text) print("Capitalized:", capitalized_text) ## Output ## Length: 13 ## Lowercase: hello, world! ## Uppercase: HELLO, WORLD! ## Capitalized: Hello, world!
การทำดัชนีสตริงและการแบ่งส่วน
การเข้าถึงอักขระแต่ละตัวโดยใช้การจัดทำดัชนี: อักขระแต่ละตัวในสตริงมีดัชนีที่สอดคล้องกัน เริ่มต้นจาก 0 สำหรับอักขระตัวแรก คุณสามารถเข้าถึงอักขระแต่ละตัวได้โดยใช้วงเล็บเหลี่ยมและดัชนี
text = "Hello, World!" first_character = text[0] # 'H' second_character = text[7] # 'W'
การแบ่งส่วนเพื่อแยกส่วนของสตริง: การแบ่งส่วนทำให้คุณสามารถแยกส่วนของสตริงได้ ดำเนินการโดยใช้ไวยากรณ์ [start:stop]
โดยที่ start
คือดัชนีของอักขระตัวแรกที่จะรวมไว้ และ stop
คือดัชนีของอักขระที่อยู่หลังอักขระตัวสุดท้ายที่คุณต้องการ
text = "Hello, World!" substring = text[7:12] # 'World'
การจัดทำดัชนีเชิงลบสำหรับการนับจากจุดสิ้นสุด: Python ยังรองรับการจัดทำดัชนีเชิงลบ โดยที่ -1
อ้างถึงอักขระตัวสุดท้าย -2
ถึงอักขระตัวที่สองถึงสุดท้าย และอื่นๆ
text = "Hello, World!" last_character = text[-1] # '!' second_last_character = text[-2] # 'd'
วิธีการสตริง
strip(), lstrip() และ rstrip() : วิธีการเหล่านี้ใช้เพื่อลบช่องว่างนำหน้าและต่อท้าย (รวมถึงช่องว่าง แท็บ และอักขระขึ้นบรรทัดใหม่) ออกจากสตริง
text = " Hello, World! " stripped = text.strip() # Removes leading and trailing whitespace left_stripped = text.lstrip() # Removes leading whitespace right_stripped = text.rstrip() # Removes trailing whitespace
split() — การแบ่งสตริงออกเป็นรายการสตริงย่อย: เมธอด split()
แบ่งสตริงออกเป็นรายการสตริงย่อยตามตัวคั่นที่ระบุ
sentence = "Hello, how are you today?" words = sentence.split() # Splits on spaces by default comma_separated = sentence.split(", ") print("Words:", words) print("Comma Separated:", comma_separated) # output ## Words: ['Hello,', 'how', 'are', 'you', 'today?'] ## Comma Separated: ['Hello', 'how are you today?']
join() — การรวมรายการสตริงให้เป็นสตริงเดียว: เมธอด join()
รับรายการสตริงและรวมเข้าด้วยกันเป็นสตริงเดียวโดยใช้ตัวคั่นที่ระบุ
words = ["Hello", "how", "are", "you", "today?"] combined_sentence = " ".join(words) # Joins with space separator comma_joined = ", ".join(words) # Joins with comma and space separator print("Combined Sentence:", combined_sentence) print("Comma Joined:", comma_joined) # Output # Combined Sentence: Hello how are you today? # Comma Joined: Hello, how, are, you, today?
แทนที่() — การแทนที่สตริงย่อยเฉพาะ: วิธีการ replace()
จะแทนที่การเกิดขึ้นของสตริงย่อยที่ระบุด้วยสตริงย่อยอื่น
text = "Hello, World!" replaced = text.replace("Hello", "Hi") print("Original Text:", text) print("Replaced Text:", replaced) # Output # Original Text: Hello, World! # Replaced Text: Hi, World!
การจัดรูปแบบสตริง
การใช้ f-strings
สำหรับการแก้ไขสตริง: สตริง F (ตัวอักษรสตริงที่จัดรูปแบบแล้ว) เป็นวิธีที่กระชับในการฝังนิพจน์ภายในตัวอักษรสตริง โดยใช้เครื่องหมายปีกกา {}
นิพจน์ภายในเครื่องหมายปีกกาจะถูกประเมิน และผลลัพธ์จะถูกแทรกลงในสตริง
name = "Alice" age = 20 message = f"My name is {name} and I am {age} years old." print(message) ## My name is Alice and I am 20 years old.
เมธอด format() สำหรับสตริงที่จัดรูปแบบ: เมธอด format()
ช่วยให้คุณสร้างสตริงที่จัดรูปแบบแล้วโดยใช้ตัวยึดตำแหน่ง {}
จากนั้นเรียกใช้เมธอด format()
บนสตริง
name = "Bob" score = 85 result = "Hi, my name is {} and I scored {} on the test.".format(name, score) print(result) ## Hi, my name is Bob and I scored 85 on the test.
% การจัดรูปแบบ (การจัดรูปแบบแบบเก่า): ตัวดำเนินการ %
สามารถใช้สำหรับการจัดรูปแบบสตริงได้เช่นกัน เป็นวิธีการเก่าและคล้ายกับการจัดรูปแบบสตริงแบบ C
product = "apple" price = 0.5 formatted_string = "A %s costs $%.2f." % (product, price) print(formatted_string)
การดำเนินการสตริงและการเปรียบเทียบ
การตรวจสอบการมีอยู่ของสตริงย่อยด้วย in
คำหลัก: คำหลัก in
ใช้ใน Python เพื่อตรวจสอบว่ามีสตริงย่อยอยู่ภายในสตริงที่กำหนดหรือไม่ โดยจะส่งกลับค่าบูลีน ( True
หรือ False
) เพื่อระบุว่ามีสตริงย่อยอยู่หรือไม่
text = "Hello, world!" substring = "world" if substring in text: print("Substring found.") else: print("Substring not found.") #Output #Substring found.
<แข็งแกร่ง>2. การเปรียบเทียบสตริง: สามารถเปรียบเทียบสตริงได้โดยใช้ตัวดำเนินการเปรียบเทียบต่างๆ เช่น ==
(เท่ากับ), !=
(ไม่เท่ากับ), <
(น้อยกว่า), >
(มากกว่า), <=
(น้อยกว่าหรือเท่ากับ) และ >=
(มากกว่าหรือเท่ากับ) ตัวดำเนินการเหล่านี้จะเปรียบเทียบสตริงตามพจนานุกรม ซึ่งหมายความว่าจะเปรียบเทียบค่า ASCII ของอักขระทีละตัว
ตัวอย่าง:
str1 = "apple" str2 = "banana" if str1 < str2: print("str1 comes before str2.") else: print("str1 comes after str2.") # Output # str1 comes before str2.
<แข็งแกร่ง>3. วิธีสตริงสำหรับการค้นหาสตริงย่อย: Python มีวิธีการในตัวหลายวิธีเพื่อค้นหาและจัดการสตริงย่อยภายในสตริง:
startswith(prefix)
: ตรวจสอบว่าสตริงเริ่มต้นด้วยคำนำหน้าที่ระบุหรือไม่
text = "Hello, world!" if text.startswith("Hello"): print("String starts with 'Hello'.") # Output # String starts with 'Hello'.
endswith(suffix)
: ตรวจสอบว่าสตริงลงท้ายด้วยส่วนต่อท้ายที่ระบุหรือไม่
text = "Hello, world!" if text.endswith("world!"): print("String ends with 'world!'.") # Out-put # String ends with 'world!'.
find(substring)
: ส่งกลับดัชนีต่ำสุดของการเกิดขึ้นครั้งแรกของสตริงย่อยที่ระบุ ส่งคืน -1 หากไม่พบ
text = "Hello, world!" index = text.find("world") if index != -1: print("Substring found at index:", index) # Out-put # Substring found at index: 7
index(substring)
: คล้ายกับfind()
แต่ทำให้เกิดข้อผิดพลาดหากไม่พบสตริงย่อย
text = "Hello, world!" try: index = text.index("world") print("Substring found at index:", index) except ValueError: print("Substring not found.") # Out-put # Substring found at index: 7
วิธีการเหล่านี้ช่วยให้คุณค้นหาและจัดการสตริงย่อยภายในสตริงได้อย่างมีประสิทธิภาพ ซึ่งเป็นงานทั่วไปในการประมวลผลและจัดการข้อความ
บทสรุป
ตลอดบทช่วยสอนนี้ คุณได้รับความรู้มากมายเกี่ยวกับสตริง Python คุณได้สำรวจเทคนิคในการสร้าง จัดการ การจัดรูปแบบ และการเปรียบเทียบสตริงโดยใช้วิธีการและตัวดำเนินการที่หลากหลาย
เผยแพร่ครั้งแรกที่ https://kafilatadeleke.hashnode.dev.