如何使用python提取数字并且只提取数字后的一个字符串?

How to extract the number and only one string after the number using python?

我有一个带有这种模式的字符串 test_str = "Abc xyz another_name 123 V aaa"。之后我需要提取数字和数字之后的字符串,作为值及其单位。我该怎么做?
我只能使用正则表达式获取数字,但不能获取它后面的字符串,这是单位。

re.findall(r'[0-9]+', test_str)

预期的输出是:123 V

编辑:

另外:一些单位可能包含斜杠或反斜杠或带逗号的数字,我怎样才能得到这些? 这意味着其中一些可能是 1.21,1,对于单位 A/CDC-W

这可能就是您要找的。此正则表达式将 return 数字后跟 space 和一个字符串。

re.findall(r'[1-9]+ [a-zA-Z-\/]+', test_str)

此模式匹配数字 ,.,以 /- 结束, 以及它们之间的任何空白。

re.findall(r'[0-9,\.]+\s*[a-zA-Z/\-]*', test_str)

如果您还想在字符串中包含任何其他字符,包括 /- 或数字,
我认为除空格以外的任何字符都可以。

re.findall(r'[0-9]+ [^\s]+', test_str)