Python 如何从字符串中删除前缀?

Python 如何从字符串中删除前缀?,python,Python,我正在尝试做一些文本预处理,这样我可以做一些字符串匹配活动 我有一组字符串,我想检查字符串中的第一个单词是否以“1/”前缀开头。如果是,我想删除这个前缀,但保留单词/字符串的其余部分 我提出了以下建议,但它只是删除第一个单词后的所有内容,而不一定删除前缀“1/” 任何帮助都将不胜感激 谢谢大家! 从Python 3.9开始,您可以使用: 对于其他版本的Python,您可以使用: if word.startswith(prefix): word = word[len(prefix):]

我正在尝试做一些文本预处理,这样我可以做一些字符串匹配活动

我有一组字符串,我想检查字符串中的第一个单词是否以“1/”前缀开头。如果是,我想删除这个前缀,但保留单词/字符串的其余部分

我提出了以下建议,但它只是删除第一个单词后的所有内容,而不一定删除前缀“1/”

任何帮助都将不胜感激


谢谢大家!

从Python 3.9开始,您可以使用:

对于其他版本的Python,您可以使用:

if word.startswith(prefix):
    word = word[len(prefix):]

假设您只想删除第一个单词的前缀,而不去理会其他单词,那么我认为没有理由使用for循环。相反,我建议:

def prefix_removal(text):
    first_word = text.split()[0]
    if first_word.startswith(prefixes):
         return text[len(prefixes):]
    return text

希望这能回答你的问题,祝你好运

目前无法使用python 3。9@mikelowry对于Python的其他版本,可以使用文档中给出的等效版本。我已更新了我的答案。请尝试
s.split(prefix)[-1]
即使前缀不存在,它也应该可以工作,但是如果前缀在字符串中出现多次,那么它将在最后一次出现后使用字符串
if word.startswith(prefix):
    word = word[len(prefix):]
def prefix_removal(text):
    first_word = text.split()[0]
    if first_word.startswith(prefixes):
         return text[len(prefixes):]
    return text