开发者社区> 问答> 正文

将python字符串拆分为分隔符但是特定的分隔符

有没有办法分割python字符串而不使用for循环,基本上将中间的字符串拆分为最接近的分隔符。

就像:

The cat jumped over the moon very quickly.
分隔符将是空格,结果字符串将是:

The cat jumped over
the moon very quickly.
我看到有一个count地方我可以看到有多少空格(虽然看不到如何返回它们的索引)。然后,我可以通过除以2来找到中间的一个,但是然后如何在此索引处对此分隔符进行拆分。查找已关闭,但它返回第一个索引(或使用rfind的第一个索引)而不是所有找到“”的索引。

展开
收起
一码平川MACHEL 2019-01-22 17:17:31 2282 0
1 条回答
写回答
取消 提交回答
  • s = "The cat jumped over the moon very quickly"

    l = s.split()

    s1 = ' '.join(l[:len(l)//2])
    s2 = ' '.join(l[len(l)//2 :])

    print(s1)
    print(s2)


    def split_text(text):

    middle = len(text)//2
    under = text.rfind(" ", 0, middle)
    over = text.find(" ", middle)
    if over > under and under != -1:
        return (text[:,middle - under], text[middle - under,:])
    else:
        if over is -1:
              raise ValueError("No separator found in text '{}'".format(text))
        return (text[:,middle + over], text[middle + over,:])

    它不使用for循环,但可能使用for循环会有更好的性能。

    我通过引发错误raise ValueError()来处理整个字符串中找不到分隔符的情况,但是改变你想要处理的情况。

    2019-07-17 23:26:21
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载