【问题标题】:separating numbers from letters; python将数字与字母分开; Python
【发布时间】:2014-09-20 02:55:48
【问题描述】:

我想将数字与字母分开。我试过这样,但它不适用于负数。我需要改变什么?

match = re.match(r"([0-9]+(?:.[0-9]+)?)([a-z]+)", "-0.5m", re.I)
number = match.group(1)
letter = = match.group(2)

【问题讨论】:

  • 这里的一些 regexp wiz 可能会解决这个问题,但是,你的字符串语法是什么样的?你能给出一个匹配的示例字符串吗?
  • 你能提供一组预期的输入/输出对吗?
  • 我的问题中有一个例子,字符串是“-0.5m”,我希望 -0.5 作为数字,m 作为字母,但是正数也应该可以。

标签: python string


【解决方案1】:
match = re.match(r"(-?[0-9]+(?:.[0-9]+)?)([a-z]+)", "-0.5m", re.I)

添加-? 以允许在数字开头添加减号。

【讨论】:

  • 请注意,.在正则表达式中应该是一个\。作为 .可以是任何字符。
猜你喜欢
  • 2022-07-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-12
  • 1970-01-01
  • 2017-04-26
  • 1970-01-01
  • 2021-06-13
相关资源
最近更新 更多