【发布时间】:2011-03-29 08:43:08
【问题描述】:
如何在__是分隔符的地方分割这个字符串
MATCHES__STRING
要获得['MATCHES', 'STRING']的输出?
【问题讨论】:
-
值得阅读python标准文档并尝试理解其他人编写的少数程序以开始掌握Python基础知识。练习和复制/修改是学习语言的好工具。
如何在__是分隔符的地方分割这个字符串
MATCHES__STRING
要获得['MATCHES', 'STRING']的输出?
【问题讨论】:
你可以使用str.split方法:string.split('__')
>>> "MATCHES__STRING".split("__")
['MATCHES', 'STRING']
【讨论】:
x.strip() 并返回一个两边没有空格的匹配列表。魔鬼在细节中。
您可能对csv 模块感兴趣,该模块专为逗号分隔文件而设计,但可以轻松修改以使用自定义分隔符。
import csv
csv.register_dialect( "myDialect", delimiter = "__", <other-options> )
lines = [ "MATCHES__STRING" ]
for row in csv.reader( lines ):
...
【讨论】:
如果字符串中有两个或更多(在下面的示例中为三个)元素,则可以使用逗号分隔这些项目:
date, time, event_name = ev.get_text(separator='@').split("@")
在这行代码之后,三个变量的值将来自变量ev
的三个部分所以,如果变量 ev 包含这个字符串并且我们应用分隔符'@':
Sa., 23. März@19:00@Klavier + Orchester: SPEZIAL
那么,经过拆分操作后的变量
【讨论】:
对于 Python 3.8,您实际上不需要get_text 方法,您可以使用ev.split("@"),事实上get_text 方法正在抛出一个攻击。错误。
所以如果你有一个字符串变量,例如:
filename = 'file/foo/bar/fox'
您可以按照上述评论中的建议将其拆分为带有逗号的不同变量,但需要进行更正:
W, X, Y, Z = filename.split('_')
W = 'file'
X = 'foo'
Y = 'bar'
Z = 'fox'
【讨论】: