用python中的分隔符分割字符串


Answers:


327

您可以使用以下str.split功能:string.split('__')

>>> "MATCHES__STRING".split("__")
['MATCHES', 'STRING']

1
我想知道,第一个示例(仅使用split())和第二个示例(带有for循环)之间有什么区别?
EndenDragon

4
@EndenDragon for循环将自动应用x.strip()并返回两边都没有空格的匹配项列表。细节决定成败。
塞巴斯蒂安·佛卡门

嘿,因为这是一个非常受欢迎的问题,所以我将其编辑为仅询问一个特定问题,并删除了定界符周围带有空格的部分,因为尚不清楚OP预期会发生什么(因为在该问题中从来没有问题问题)。我认为问题(和答案)以这种方式更有用,但是如果您不同意,可以随时回滚所有编辑。
阿兰·菲

4

您可能对csv模块感兴趣,该模块是为逗号分隔的文件设计的,但可以轻松修改以使用自定义定界符。

import csv
csv.register_dialect( "myDialect", delimiter = "__", <other-options> )
lines = [ "MATCHES__STRING" ]

for row in csv.reader( lines ):
    ...

1

如果字符串中有两个或多个(在下面的示例中有三个)元素,则可以使用逗号分隔以下各项:

date, time, event_name = ev.get_text(separator='@').split("@")

在这行代码之后,三个变量将具有变量ev的三个部分的值

因此,如果变量ev包含此字符串,并且我们应用分隔符'@':

Sa.,23.März@ 19:00 @ Klavier + Orchester:SPEZIAL

然后,在拆分操作之后,变量

  • 日期的值将为“ Sa.,23.März”
  • 时间的值为“ 19:00”
  • event_name的值将为“ Klavier + Orchester:SPEZIAL”
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.