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