สมมติว่าเรามีสตริงที่มีตัวเลขเป็นจุดเริ่มต้น ในบทความนี้เราจะมาดูวิธีการรับเฉพาะส่วนที่เป็นตัวเลขของสตริงซึ่งกำหนดไว้ที่จุดเริ่มต้น
ด้วย isdigit
ฟังก์ชัน is digit กำหนดว่าส่วนของสตริงนั้นเป็นตัวเลขหรือไม่ ดังนั้นเราจะใช้ฟังก์ชัน takewhile จาก itertools เพื่อรวมแต่ละส่วนของสตริงที่เป็นตัวเลข
ตัวอย่าง
from itertools import takewhile # Given string stringA = "347Hello" print("Given string : ",stringA) # Using takewhile res = ''.join(takewhile(str.isdigit, stringA)) # printing resultant string print("Numeric Pefix from the string: \n", res)
ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
Given string : 347Hello Numeric Pefix from the string: 347
กับ re.sub
การใช้โมดูลนิพจน์ทั่วไป re เราสามารถสร้างรูปแบบเพื่อค้นหาตัวเลขเท่านั้น การค้นหาจะพบเฉพาะตัวเลขที่จุดเริ่มต้นของสตริงเท่านั้น
ตัวอย่าง
import re # Given string stringA = "347Hello" print("Given string : ",stringA) # Using re.sub res = re.sub('\D.*', '', stringA) # printing resultant string print("Numeric Pefix from the string: \n", res)
ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
Given string : 347Hello Numeric Pefix from the string: 347
ด้วย re.findall
ฟังก์ชัน findall ทำงานในลักษณะเดียวกันกับผู้หญิงที่ยอมรับว่าเราใช้เครื่องหมายบวกแทน *
ตัวอย่าง
import re # Given string stringA = "347Hello" print("Given string : ",stringA) # Using re.sub res = ''.join(re.findall('\d+',stringA)) # printing resultant string print("Numeric Pefix from the string: \n", res)
ผลลัพธ์
การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -
Given string : 347Hello Numeric Pefix from the string: 347