python - 如何从 python(django) 中的字符串中分离数字?

标签 python regex django python-2.7 django-views

在我的一个表单中,我发送了两个这样的信息:

  <input type ="hidden" name= "items" value="{{item.pk}} {{item.name}}">

当我通过 request.POST.get 获取信息时,我得到“202 book”。

如何将数字与字符串或单词分开?我做了一个拆分:

  pks = request.POST.getlist("items")
  for pk in pks:
      pk.split(' ',1)

但数字并不总是 1 位或 2 位数字,它可能是 2 或 3 等。另外,我可能遇到名称为 book1 的情况,因此我需要保留最后一个“1”。

有什么想法可以解决这个问题吗?

最佳答案

除非我误解了你的问题,否则你为什么不拆分字符串并从结果列表中提取第一个和第二个元素?演示:

>>> mystr = "202 book"
>>> lst = "202 book".split()
>>> num = lst[0] # or int(lst[0])
>>> num
'202'
>>> other = lst[1]
>>> other
'book'

如果你有一个包含数字的字符串和可能包含数字的单词,但在查找数字时不应该计算在内,你可以这样做:

>>> mystr = 'This 101 5is 4 600a 42 de3mo string12'
>>> re.findall(r'\b\d+\b', mystr)
['101', '4', '42']
>>> re.findall(r'(?!\d+\b)\w+', mystr)
['This', '5is', '600a', 'de3mo', 'string12']

关于python - 如何从 python(django) 中的字符串中分离数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24470446/

相关文章:

python - django ORM 中的多个查询

mysql - Django - 查询精确的字符串匹配

python - 如何将变量从 python Django 传递到 HTML 模板

python - 你如何计算百分比?

regex - 如何用动态字符串替换字符串

python - 为什么这个正则表达式匹配给出这个结果?

javascript - 将单词(字符串)数组转换为正则表达式并使用它来匹配字符串

python - 更好地分解 Python 分析

python - 使用python social auth通过访问 token 注册用户

python - RPG 游戏的 Python 语法无效