Python:删除字符串开头的数字

2024-09-25 10:30:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一些这样的字符串:

string1 = "123.123.This is a string some other numbers"
string2 = "1. This is a string some numbers"
string3 = "12-3-12.This is a string 123"
string4 = "123-12This is a string 1234"

我需要从字符串的开头删除这些数字。我试过strip[start: end]方法,但由于字符串的格式不规则,我不能使用它?有什么建议吗?


Tags: 字符串stringis数字somethisstartend
1条回答
网友
1楼 · 发布于 2024-09-25 10:30:08

您可以使用^{}从一开始就删除所有数字、点、破折号和空格:

string1.lstrip('0123456789.- ')

str.strip()的参数被视为一个,例如,在字符串开始处作为该集成员的任何字符都将被删除,直到字符串不再以此类字符开头。

演示:

>>> samples = """\
... 123.123.This is a string some other numbers
... 1. This is a string some numbers
... 12-3-12.This is a string 123
... 123-12This is a string 1234
... """.splitlines()
>>> for sample in samples:
...     print 'From: {!r}\nTo:   {!r}\n'.format(
...         sample, sample.lstrip('0123456789.- '))
...
From: '123.123.This is a string some other numbers'
To:   'This is a string some other numbers'

From: '1. This is a string some numbers'
To:   'This is a string some numbers'

From: '12-3-12.This is a string 123'
To:   'This is a string 123'

From: '123-12This is a string 1234'
To:   'This is a string 1234'

相关问题 更多 >