目录
Remove the first two characters from a String in Python
- 从 Python 中的字符串中删除前 N 个字符
- 如果前 N 个字符等于某个值,则删除它们
- 使用 str.replace() 从字符串中删除前 N 个字符
- 使用 for 循环从字符串中删除前 N 个字符
- 使用 lstrip 从字符串中删除前 N 个字符
在 Python 中删除字符串中的前 N 个字符
使用字符串切片从字符串中删除前 N 个字符,例如
new_string = string[N:]
.
切片将通过返回从前 N 个字符之后的字符开始的字符串副本,从字符串中删除前 N 个字符。
string = 'bobbyhadz.com' # ✅ Remove the first 2 characters from a string new_string = string[2:] print(new_string) # 👉️ bbyhadz.com # ✅ Remove the first 3 characters from a string new_string = string[3:] print(new_string) # 👉️ byhadz.com # ✅ Remove the first 4 characters from a string new_string = string[4:] print(new_string) # 👉️ yhadz.com
我们使用字符串切片从字符串中删除前 N 个字符。
字符串切片的语法
是my_str[start:stop:step]
.
start
是包含的,而stop
索引是排他的(最多,但不包括)。Python 索引是从零开始的,因此字符串中的第一个字符的索引为0
,最后一个字符的索引为-1
or len(my_str) - 1
。
切片string[2:]
从索引开始2
,一直到字符串的末尾。
string = 'bobbyhadz.com' new_string = string[2:] print(new_string) # 👉️ bbyhadz.com
换句话说,切片删除了字符串的前 2 个字符(索引
0
和1
)。
如果您不需要保留原始变量,请重新分配它而不是声明一个新变量。
string = 'bobbyhadz.com' string = string[3:] print(string) # 👉️ byhadz.com
切片string[3:]
从索引开始3
,一直到字符串的末尾。
换句话说,它从字符串中删除前 3 个字符(索引0
,
1
和2
)。
如果前 N 个字符等于某个值,则删除它们
如果您只想从字符串中删除前 N 个字符(如果它们等于某个值),请使用该str.startswith()
方法。
string = 'bobbyhadz.com' substring = 'bob' if string.startswith(substring): string = string[len(substring):] print(string) # 👉️ byhadz.com
如果字符串以指定字符开头,则该示例仅从字符串中删除前 3 个字符。
如果字符串以提供的前缀开头,则 str.startswith 方法返回,否则该
方法返回。True
False
如果需要获取字符串的两个部分,也可以使用字符串切片。
string = 'bobbyhadz.com' n = 3 before, after = string[:n], string[n:] print(before) # 👉️ bob print(after) # 👉️ byhadz.com
切片string[:3]
从 index 开始0
,一直到 index ,但不包括 index 3
。
换句话说,它返回字符串中的前 3 个字符(索引0
,
1
和2
)。
切片string[3:]
从索引开始3
,一直到字符串的末尾。
或者,您可以使用该str.replace()
方法。
使用 str.replace() 从字符串中删除前 N 个字符
这是一个三步过程:
- 使用字符串切片获取字符串的前 N 个字符。
- 使用该
str.replace()
方法从字符串中删除前 N 个字符。 - 通过用空字符串替换它们来删除字符。
string = 'bobbyhadz.com' n = 2 new_string = string.replace(string[:n], '', 1) print(new_string) # 👉️ bbyhadz.com
我们使用该str.replace()
方法通过用空字符串替换它们来从字符串中删除前 N 个字符。
str.replace()
方法会替换字符串中所有出现的提供的子字符串,因此我们指定了一个计数以确保我们只替换第一次出现的地方。 1
str.replace方法返回字符串的副本,其中所有出现的子字符串都被提供的替换项替换。
该方法采用以下参数:
姓名 | 描述 |
---|---|
老的 | 字符串中我们要替换的子串 |
新的 | 每次出现的替换old |
数数 | count 只替换第一次出现的(可选) |
该方法不会更改原始字符串。字符串在 Python 中是不可变的。
或者,您可以使用for
循环。
使用 for 循环从字符串中删除前 N 个字符
这是一个三步过程:
- 使用
for
循环迭代字符串enumerate()
。 - 检查索引是否大于或等于 N。
- 如果满足条件,则将当前字符附加到新字符串。
string = 'bobbyhadz.com' new_string = '' n = 3 for index, char in enumerate(string): if index >= n: new_string += char print(new_string) # 👉️ 'byhadz.com'
我们使用该enumerate()
函数来访问当前迭代的索引。
string = 'abc' for index, char in enumerate(string): print(char, index) # 👉️ a 0, b 1, c 2
enumerate函数接受一个可迭代对象并返回一个包含元组的枚举对象,其中第一个元素是索引,第二个元素是相应的项目。
在每次迭代中,我们检查当前索引是否大于或等于 N。
如果满足条件,我们将当前字符添加到新字符串中。
运算+=
符是 的简写new_string = new_string + char
。
从字符串中删除前 N 个字符lstrip
或者,您可以使用该str.lstrip()
方法。
my_str = 'avocado' result_1 = my_str.lstrip(my_str[0:2]) print(result_1) # 👉️ 'ocado' result_2 = my_str.lstrip('av') print(result_2) # 👉️ 'ocado'
第一个示例使用 slice of0:2
获取字符串的前 2 个字符。
str.lstrip方法将包含字符的
字符串作为参数,并返回删除了指定前导字符的字符串副本。
该方法不改变原来的字符串,它返回一个新的字符串。字符串在 Python 中是不可变的。
str.lstrip()
方法不一定只从字符串中删除前两个字符。该方法从字符串的开头删除指定字符的所有出现和组合。
额外资源
您可以通过查看以下教程来了解有关相关主题的更多信息: