Python获取给定字符串的数字前缀

假设我们有一个以数字开头的字符串。在本文中,我们将看到如何仅获取固定在开头的字符串的数字部分。

与isdigit

is digit函数确定字符串的一部分是否是digit。因此,我们将使用itertools中的takewhile函数来连接字符串的每个部分,即数字。

示例

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