regex 单词和真实的的正则表达式

xzabzqsa  于 2023-08-08  发布在  其他
关注(0)|答案(2)|浏览(93)

我在构建一个提取单词和真实的的函数时遇到了麻烦,并将另一个符号替换为空格。
举例来说:

word1, word2.word3, 1.4056 -1.2456 40,50 -60$30 60.50. 70.40.

字符串
应该成为

word1 word2 word3 1.4056 -1.2456 40 50 -60 30 60.50 70.40


我试着:

re.sub(r"[^a-zA-Z0-9.-]+", " ", input_string)


我几乎得到了它,除了60.50.没有改变(尾随的点仍然存在)。你能帮帮我吗?

jtw3ybtb

jtw3ybtb1#

试试这个:

re.sub(r"(?<=\d)\.(?!\d)|[^a-zA-Z0-9.-]+", " ", input_string)

字符串
输出量:

word1 word2 word3 1.4056 -1.2456 40 50 -60 30 60.50  70.40

xxslljrj

xxslljrj2#

您可以使用 re.findall 函数代替 find-and-replace,并使用 str.join 连接结果。

-?\d+(?:\.\d+)?|\w+

个字符
产出

word1 word2 word3 1.4056 -1.2456 40 50 -60 30 60.50 70.40

相关问题