【问题标题】:Splitting strings but keeping "split" character拆分字符串但保留“拆分”字符
【发布时间】:2017-09-24 20:09:27
【问题描述】:

我已经用 [ 和 ] 分割了一个字符串,但我希望这些字符仍然出现。我该怎么做?

words = [beginning for ending in x.split('[') for beginning in ending.split(']')]

【问题讨论】:

  • 你想让它们出现在哪里?在左边?在正确的部分?在他们两个?
  • 标记为“家庭作业”,因为它是标记为“家庭作业”的this question 的后续。
  • 我不太明白你想做什么。向我们展示一个测试用例和预期的结果。
  • ...或在自己的列表中的位置
  • 你看过str.partition吗?

标签: python string split


【解决方案1】:

我认为你需要 re.split 来轻松地做到这一点:

>>> import re
>>> s = 'Hello, my name is [name] and I am [age] years old'
>>> re.split(r'(\[|\])', s)
['Hello, my name is ', '[', 'name', ']', ' and I am ', '[', 'age', ']', ' years old']

【讨论】:

    【解决方案2】:

    需要更多地了解您的列表的上下文以及 xbeginningending 是什么,但这里有一些建议。

    您可以将[] 添加到列表中的每个项目,并返回一个新列表,如下所示:

    ["[%s]" % s for s in some_list]
    

    或者,string.join 将从列表中的项目中返回一个字符串,该列表由给定字符串连接:

    "[".join(some_list)
    

    【讨论】:

      猜你喜欢
      • 2018-12-23
      • 1970-01-01
      • 2020-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多