我正试图去除部分字符串.
例如地带: -
a = xyz-abc
Run Code Online (Sandbox Code Playgroud)
离开:-
a = -abc
Run Code Online (Sandbox Code Playgroud)
我通常会使用lstrip例如
a.lstrip('xyz')
Run Code Online (Sandbox Code Playgroud)
但是在这种情况下我不知道xyz会是什么,所以我需要一种方法来去除' - '左边的所有内容.
是否可以使用lstrip设置该选项,或者我必须以不同的方式进行此操作?
谢谢.
如果只有一个-字符,这将有效:
'xyz-abc'.split('-')[1]
Run Code Online (Sandbox Code Playgroud)
如果你想要'-'在那里,你必须重新连接它:
>>> '-' + 'xyz-abc'.split('-')[1]
'-abc'
Run Code Online (Sandbox Code Playgroud)
还有count参数,允许您仅在第一个-字符处进行拆分.
>>> '-' + 'xyz-ab-c'.split('-', 1)[1]
'-ab-c'
Run Code Online (Sandbox Code Playgroud)
partition 也有用:
>>> 'xyz-abc'.partition('-')
('xyz', '-', 'abc')
Run Code Online (Sandbox Code Playgroud)
它在第一次出现分隔符时分裂:
>>> ''.join('xyz-ab-c'.partition('-')[1:])
'-ab-c'
Run Code Online (Sandbox Code Playgroud)