Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Python รับคำนำหน้าตัวเลขของสตริงที่กำหนด


สมมติว่าเรามีสตริงที่มีตัวเลขเป็นจุดเริ่มต้น ในบทความนี้เราจะมาดูวิธีการรับเฉพาะส่วนที่เป็นตัวเลขของสตริงซึ่งกำหนดไว้ที่จุดเริ่มต้น

ด้วย 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