如何删除浮点数中的前导空格

时间:2019-04-23 18:49:36

标签: regex

snapshot非常感谢。这是有效的经验 twt_clean.text.str.extract('(((。(?= \ d +)[0-9] *。[0-9] + | [0-9] +)/([1-9] [0-9 ] +))')

输出:

source deactivate

但是现在,上述exp的结果获取了几行中的前导空格,这些行不是整数而是浮点数。在上述exp本身之内,如何消除前导空格。请帮忙。

1 个答案:

答案 0 :(得分:0)

由于点后面紧跟着正向.(?=\d+)(断言右边的数字是1个以上的数字),您得到了额外的空间。

请注意,该点匹配换行符以外的任何字符,并且您必须对点进行转义,使其从字面上\.

如果您不再在代码或工具中使用捕获组,则可以忽略它们,而使用非捕获组(?:

您可以将表达式更新为:

(?:[0-9]*\.[0-9]+|[0-9]+)/[1-9][0-9]+

这将匹配:

  • (?:非捕获组
    • [0-9]*\.[0-9]+匹配0+个数字,一个点和1+个数字
    • |
    • [0-9]+匹配一个数字1次以上
  • )关闭非捕获组
  • /匹配正斜杠
  • [1-9][0-9]+匹配1-9的数字,然后匹配1+的数字

Regex demo