📜  python 在子字符串之后拆分字符串 - Python (1)

📅  最后修改于: 2023-12-03 15:34:10.718000             🧑  作者: Mango

Python 在子字符串之后拆分字符串

在 Python 中,我们可以使用 split() 方法将字符串按照指定分隔符进行拆分,但如果我们想要在特定子字符串之后进行拆分,该怎么办呢?

以下是两种方法来实现该需求:

方法一:使用 split() 方法和 find() 方法

我们可以先使用 find() 方法找到子字符串的位置,然后再使用 split() 方法进行拆分。

string = 'Python is an interpreted, high-level, general-purpose programming language.'
delimiter = 'high-level'

index = string.find(delimiter)
if index != -1:
    result = string[:index].split()
    result.append(string[index+len(delimiter):])
else:
    result = string.split()

print(result)

在上述代码中,我们先使用 find() 方法找到子字符串 'high-level' 的位置,如果找到,则取子字符串之前的部分进行 split() 操作,并将子字符串之后的部分添加到结果列表中。如果未找到子字符串,则对整个字符串进行 split() 操作。

该方法的输出结果为:

['Python', 'is', 'an', 'interpreted,', 'high-level,', 'general-purpose', 'programming', 'language.']
方法二:使用 rindex() 和 split() 方法(Python 3.x)

在 Python 3.x 中,我们可以使用 rindex() 方法找到最后一个子字符串的位置,然后再使用 split() 方法进行拆分。

string = 'Python is an interpreted, high-level, general-purpose programming language.'
delimiter = 'high-level'

try:
    index = string.rindex(delimiter)
    result = string[:index].split() + [string[index+len(delimiter):]]
except ValueError:
    result = string.split()

print(result)

在上述代码中,我们使用 try-except 语句来处理未找到子字符串的情况。如果找到了子字符串,则将子字符串之前的部分进行 split() 操作,并将子字符串之后的部分添加到结果列表中。如果未找到子字符串,则对整个字符串进行 split() 操作。

该方法的输出结果同样为:

['Python', 'is', 'an', 'interpreted,', 'high-level,', 'general-purpose', 'programming', 'language.']

以上就是在 Python 中按照子字符串进行拆分的两种方法,适用于不同版本的 Python。