您的位置:

Python Split Stop:让字符串截止至指定字符并分割字符串

一、split()函数与rsplit()函数的使用

在日常的字符串处理中,又怎能少得了Python中的split()函数呢?这个函数能够将字符串按照指定的分隔符(默认为空格)分成多个子字符串,并返回所有子字符串组成的列表。

str = "hello world python"
result = str.split()
print(result) # ['hello', 'world', 'python']

str = "hello-world-python"
result = str.split('-')
print(result) # ['hello', 'world', 'python']

如果我们想要从右往左分割字符串,并只分割一次,那么可以使用rsplit()函数。其接受两个参数,第一个参数为分隔符,第二个参数为分割次数。

str = "hello world python"
result = str.rsplit()
print(result) # ['hello', 'world', 'python']

str = "hello-world-python"
result = str.rsplit('-', 1)
print(result) # ['hello-world', 'python']

二、String方法中使用split()函数与rsplit()函数

除了直接调用split()和rsplit()函数外,split()函数和rsplit()函数也可以在String方法中使用。

str = "hello world python"
result = str.split()
print(result) # ['hello', 'world', 'python']

result = "hello world python".split()
print(result) # ['hello', 'world', 'python']

str = "hello-world-python"
result = str.split('-')
print(result) # ['hello', 'world', 'python']

result = "hello-world-python".split('-')
print(result) # ['hello', 'world', 'python']

同样的,rsplit()函数也可以在String方法中使用。

str = "hello world python"
result = str.rsplit()
print(result) # ['hello', 'world', 'python']

result = "hello world python".rsplit()
print(result) # ['hello', 'world', 'python']

str = "hello-world-python"
result = str.rsplit('-', 1)
print(result) # ['hello-world', 'python']

result = "hello-world-python".rsplit('-', 1)
print(result) # ['hello-world', 'python']

三、如何使用split()函数和rsplit()函数截止至指定字符并分割字符串

如果我们想按照指定的字符或者字符串截止并分割一个字符串,应该怎么办呢?split()函数和rsplit()函数同样可以胜任。

str = "hello_world_python"
result = str.split('_', 1)
print(result) # ['hello', 'world_python']

result = str.rsplit('_', 1)
print(result) # ['hello_world', 'python']

上面的代码中,我们将原始字符串按照'_'进行分割,分割的次数为1,也就是只分割一次。可以看到,使用split()函数时,返回的列表中第一元素为第一个'_'前面的部分,第二个元素为第一个'_'后面的部分。使用rsplit()函数时,返回的列表中最后一个元素为最后一个'_'后面的部分,其他元素为最后一个'_'前面的部分。

完整示例代码

# split()函数和rsplit()函数的使用
str = "hello world python"
result = str.split()
print(result) # ['hello', 'world', 'python']

str = "hello-world-python"
result = str.split('-')
print(result) # ['hello', 'world', 'python']

str = "hello world python"
result = str.rsplit()
print(result) # ['hello', 'world', 'python']

str = "hello-world-python"
result = str.rsplit('-', 1)
print(result) # ['hello-world', 'python']

# String方法中使用split()函数和rsplit()函数
result = "hello world python".split()
print(result) # ['hello', 'world', 'python']

result = "hello-world-python".split('-')
print(result) # ['hello', 'world', 'python']

result = "hello world python".rsplit()
print(result) # ['hello', 'world', 'python']

result = "hello-world-python".rsplit('-', 1)
print(result) # ['hello-world', 'python']

# 如何使用split()函数和rsplit()函数截止至指定字符并分割字符串
str = "hello_world_python"
result = str.split('_', 1)
print(result) # ['hello', 'world_python']

result = str.rsplit('_', 1)
print(result) # ['hello_world', 'python']