如何使用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.2
或 1,1
,对于单位 A/C
或 DC-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)
我有一个带有这种模式的字符串 test_str = "Abc xyz another_name 123 V aaa"
。之后我需要提取数字和数字之后的字符串,作为值及其单位。我该怎么做?
我只能使用正则表达式获取数字,但不能获取它后面的字符串,这是单位。
re.findall(r'[0-9]+', test_str)
预期的输出是:123 V
编辑:
另外:一些单位可能包含斜杠或反斜杠或带逗号的数字,我怎样才能得到这些?
这意味着其中一些可能是 1.2
或 1,1
,对于单位 A/C
或 DC-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)