davidmou 发表于 2023-8-20 20:59:20

正则表达式问题

如何用正则表达式从一行字符串找出所有数字
如str = “12457哈哈hsh23”
则输出结果是1245723

陶远航 发表于 2023-8-20 20:59:49

您可以使用正则表达式的方法来从字符串中提取所有数字。在Python中,可以使用re.findall()函数来实现这一功能。

下面是一个示例代码,展示了如何使用正则表达式从字符串中提取出所有数字:

import re

s = "12457哈哈hsh23"
numbers = re.findall(r'\d+', s)
result = ''.join(numbers)

print(result)


输出结果为:
1245723


在上面的代码中,我们使用了re.findall()函数和正则表达式模式r'\d+'。该模式表示匹配一个或多个连续的数字。re.findall()函数返回一个列表,其中包含所有匹配到的数字。最后,我们使用''.join(numbers)将所有数字连接成一个字符串。

希望能解决您的问题!如果还有其他疑问,请随时提问。
如果问题已经解决,请设置最佳答案

isdkz 发表于 2023-8-20 20:59:52

可以使用正则表达式的查找功能来从字符串中找出所有数字。在Python中,可以使用re模块来处理正则表达式。

以下是一个示例代码,演示如何使用正则表达式从一行字符串中找出所有数字:

import re

str = "12457哈哈hsh23"
numbers = re.findall(r'\d+', str)
result = ''.join(numbers)

print(result)


输出结果为:1245723

解释:
·re.findall(r'\d+', str)使用正则表达式 \d+ 来查找字符串中的所有连续数字。 \d 表示匹配任意一个数字字符, + 表示匹配一个或多个连续的数字字符。
·numbers是一个列表,包含了所有匹配到的数字字符串。
·''.join(numbers)将数字列表中的所有字符串连接起来,得到最终的结果字符串。
· 最后,使用print函数打印输出结果。
页: [1]
查看完整版本: 正则表达式问题