如何将字符串拆分为以“ - ”开头的部分?

时间:2017-04-23 20:03:38

标签: python string split

我有一个像这样的python字符串:

str = "--jvm 100 --cpu 200"

我如何获得两个部分?

'--jvm 100'
'--cpu 200'

我使用了str.split('--')并得到了一些不理想的东西:

'' 
'jvm 100'
'cpu 200'

我试过正则表达式,但无法弄明白。

4 个答案:

答案 0 :(得分:1)

为什么不再添加--

 input = "--jvm 100 --cpu 200"
 values = ["--%s" % item for item in input.split("--") if item]
  

结果:[' - jvm 100',' - cpu 200']

答案 1 :(得分:1)

假设您正在尝试从所有参数中获取值,您应该使用参数解析包来执行此操作。

https://docs.python.org/2/howto/argparse.html

它们已经设计了所有解析规则,因此您所要做的就是专注于从中获取值。在许多情况下,arg解析工具将允许您指定应如何键入值,因此数字将转换为整数,]转换为布尔值。

true/false

以上只是一个示例,因此您需要对其进行调整以满足您的需求。

答案 2 :(得分:1)

使用正则表达式,您可以这样做:

re.findall(r'--.*?(?=\s+--|$)', str)

答案 3 :(得分:1)

>>> import re
>>> re.findall(r'--\w+ \d+', str)
['--jvm 100', '--cpu 200']