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

2024-05-15 09:08:42 发布

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

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

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

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

prefixes = (r'1/')
#remove prefixes from string
def prefix_removal(text):
    for word in str(text).split():
        if word.startswith(prefixes):
            return word[len(prefixes):]
        else:
            return word

任何帮助都将不胜感激

谢谢大家!


Tags: 字符串textfrom文本内容stringprefixreturn
2条回答

从Python 3.9开始,您可以使用^{}

word = word.removeprefix(prefix)

对于其他版本的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

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

相关问题 更多 >