当前位置: 首页 > 面试题库 >

从Python的字符串中剥离所有非数字字符(“。”除外)

汪博艺
2023-03-14
问题内容

我有一个不错的代码片段,但是我想知道是否有人对如何执行此操作有更好的建议:

val = ''.join([c for c in val if c in '1234567890.'])

你会怎么做?


问题答案:

您可以使用正则表达式(使用 re
模块)来完成同样的事情。下面的示例匹配[^\d.](非十进制数字或句点的任何字符)的游程,并将其替换为空字符串。请注意,如果使用UNICODE标志编译模式,则结果字符串仍可能包含非ASCII数字。同样,删除“非数字”字符后的结果不一定是有效数字。

>>> import re
>>> non_decimal = re.compile(r'[^\d.]+')
>>> non_decimal.sub('', '12.34fe4e')
'12.344'


 类似资料:
  • 问题内容: 考虑一个非DOM场景,您想使用JavaScript / ECMAScript从字符串中删除所有非数字字符。范围内的任何字符都应保留。 您将如何用纯JavaScript实现此目标?请记住,这是一个非DOM方案,因此jQuery和其他涉及浏览器和按键事件的解决方案都不适合。 问题答案: 使用正则表达式为的字符串方法,这是与所有非数字匹配的速记字符类:

  • 问题内容: 使用Python从字符串中剥离所有非字母数字字符的最佳方法是什么? 这个问题的PHP变体中提供的解决方案可能会进行一些小的调整,但对我来说似乎并不是很“ pythonic”。 作为记录,我不仅要删除句点和逗号(以及其他标点符号),还希望删除引号,方括号等。 问题答案: 使用Python从字符串中剥离所有非字母数字字符的最佳方法是什么? 这个问题的PHP变体中提供的解决方案可能会进行一些

  • 问题内容: 使用Python从字符串中剥离所有非字母数字字符的最佳方法是什么? 这个问题的PHP变体中提供的解决方案可能会进行一些小的调整,但对我来说似乎并不是很“ pythonic”。 作为记录,我不仅要删除句点和逗号(和其他标点符号),而且还要删除引号,方括号等。 问题答案: 我只是出于好奇而对某些功能进行了计时。在这些测试中,我从字符串(内置模块的一部分)中删除了非字母数字字符。发现使用已编

  • 问题内容: 我们如何从Python字符串中删除所有非数字字符? 问题答案:

  • 问题内容: 我正在编写python MapReduce字数统计程序。问题是数据中散布着许多非字母字符,我发现这篇文章从Python的字符串中剥离了除了字母数字字符之外的所有内容,这显示了使用正则表达式的一个很好的解决方案,但是我不确定如何实现它 恐怕我不确定该如何使用该库甚至正则表达式。我不确定如何将正则表达式模式正确地应用于传入的字符串(书的一行)以检索没有任何非字母数字字符的新行。 有什么建议

  • 问题内容: 尝试删除所有非0-9的字母和字符和一个句点。我正在使用,但它也会删除小数,如何也保留小数? 问题答案: 试试这个代码: 现在将包含。