我有一批绳子要剪断。它们基本上是一个描述符,后面跟着代码。我只想保留描述符。
'a descriptor dps 23 fd'
'another 23 fd'
'and another fd'
'and one without a code'
上面的代码是dps
、23
和fd
。它们可以按任何顺序出现,彼此不相关,可能根本不存在(就像上一个例子一样)。
代码列表是固定的(或者至少可以预测),因此假设一个代码从未在合法的描述符中使用过,我如何在代码的第一个实例之后去掉所有内容。
我在用Python。
Tags:
你好像在描述这样的事情:
例如
简短的回答,正如@THC4K在评论中指出的:
其中
string
是原始字符串,pattern
是“break”模式,1
表示拆分不超过1次,而[0]
表示取拆分返回的第一个元素。行动中:
这是表达我之前写过的东西的一种更短的方式,无论如何我都会保留在这里。
如果需要删除多个模式,这是构建
reduce
的一个很好的候选者:这基本上是说:对于
patterns
中的每个pat
:取string
并重复应用string.split(pat, 1)[0]
(如上所述),每次操作先前返回值的结果。如您所见,如果字符串中没有模式,则仍返回原始字符串。最简单的答案是列表/字符串片段与
string.find
组合在一起:一个更好的方法(避免在
s.find
返回-1时切断丢失模式中的最后一个字符)可能是用一个简单的函数包装:[:s.find(x)]
语法意味着从索引0到冒号右手边的字符串部分;在本例中,RHS是s.find
的结果,它返回传递的字符串的索引。相关问题 更多 >
编程相关推荐