sách gpt4 ai đã đi

Biểu thức chính quy Python để phân tách chuỗi thành số và văn bản/ký hiệu

In lại 作者:行者123 更新时间:2023-11-28 21:42:43 32 4
mua khóa gpt4 Nike

我想将一个字符串拆分为数字部分和文本/符号部分我当前的代码不包含负数或小数,并且表现得很奇怪,在输出的末尾添加了一个空列表元素

import re
mystring = 'AD%5(6ag 0.33--9.5'
newlist = re.split('([0-9]+)', mystring)
print (newlist)

当前输出:

['AD%', '5', '(', '6', 'ag ', '0', '.', '33', '--', '9', '.', '5', '']

期望的输出:

['AD%', '5', '(', '6', 'ag ', '0.33', '-', '-9.5']

1 Câu trả lời

您的问题与以下事实有关:您的正则表达式捕获一个或多个数字并将它们添加到结果列表中,并且数字用作分隔符,考虑前后的部分。因此,如果末尾有数字,则拆分结果会将末尾的空字符串添加到结果列表中。

您可以使用正则表达式拆分,该正则表达式匹配带有可选减号的 float 或整数,然后删除空值:

result = re.split(r'(-?\d*\.?\d+)', s)
result = filter(None, result)

要将负数/正数与指数匹配,请使用

r'([+-]?\d*\.?\d+(?:[eE][-+]?\d+)?)'

-?\d*\.?\d+ 正则表达式匹配:

  • -? - 一个可选的减号
  • \d* - 0+ 位
  • \.? - 一个可选的文字点
  • \d+ - 一个或多个数字。

关于Python正则表达式将字符串拆分为数字和文本/符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43237338/

32 4 0
Bài viết được đề xuất: python - 解析时抖掉重复项
Bài viết được đề xuất: ios - UITableView 根据内容调整单元格大小
Bài viết được đề xuất: python - 使用请求在 Python 中搜索网站时出现 502 错误
Bài viết được đề xuất: python - AES 除了 256 字节(8 或 16)
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com