【问题标题】:How can i split a string into two on the first occurrence of a character [duplicate]如何在第一次出现字符时将字符串分成两部分[重复]
【发布时间】:2015-10-09 16:33:51
【问题描述】:

我编写了一个代码来列出我的 Linux 服务器中的所有组件。该列表存储在一个文件中。我将逐行准备,必须从版本中拆分组件并存储在 2 个不同的字符串中。

例如:我的一行显示 console-3.45.1-0 其中控制台是组件,3.45.1-0 是版本。如果我使用拆分,

print components[i].split('-')

我可以看到['console', '3.45.1', '0\r\r'],这不是我想要的。如何在第一次出现 '-' 时拆分为 2 个字符串?

【问题讨论】:

    标签: python python-2.7


    【解决方案1】:

    str.split 接受一个 maxsplit 参数,传递 1 以仅在第一个 - 上拆分:

    print components[i].rstrip().split('-',1)
    

    将输出存储在两个变量中:

    In [7]: s = "console-3.45.1-0"
    
    In [8]: a,b = s.split("-",1)
    
    In [9]: a
    Out[9]: 'console'
    
    In [10]: b
    Out[10]: '3.45.1-0'
    

    【讨论】:

    • 是的。那行得通。但是我怎样才能存储到 2 个不同的字符串中呢?
    • @Roshanr,如果您想保留'\r\r',请删除 rstrip 调用
    • @Roshanr,添加了如何存储输出
    • @Padriac。优秀且快速的解决方案。非常感谢。我会接受这个作为答案
    • 没有问题,不客气。
    猜你喜欢
    • 2021-06-08
    • 1970-01-01
    • 1970-01-01
    • 2017-04-09
    • 1970-01-01
    • 2021-12-08
    • 2014-10-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多