Python程序:删除给定字符串的后缀


在Python中,我们有一些内置的字符串函数,例如rstrip()、replace()和endswith(),可以用来删除给定字符串的后缀。删除后缀是指删除字符串末尾的一组字符。有时我们会发现数据中存在类似后缀的错误,如果我们想删除它,会花费大量时间,这可以通过给出算法来解决。结尾字符或子串称为后缀。

让我们通过一个例子来理解这一点:

给定的字符串变量是BRIGHTNING,删除后缀NING后,该单词变为BRIGHT。

语法

endswith()

这是Python中预定义的方法,如果字符串以给定值结尾,则返回true,否则返回false。

rstrip()

这是Python中预定义的方法,它从字符串末尾删除给定的后缀字符。

replace(“replace_string_var_name”,  “”)

这是一个Python中的内置方法,它接受两个参数:

  • replace_string_var_name - 指明变量的名称。

  • 空字符串 - 空字符串用“”表示,它存储给定字符串中其余的子字符串。

算法

  • 我们正在获取输入字符串变量。

  • 然后我们使用if语句来设置预定义的方法,即endswith,并使用输入字符串变量来获取后缀子字符串。如果找到子字符串在结尾,则返回true,否则返回false。(示例1和示例2)

  • 然后我们使用预定义的方法,即rstrip,以及输入字符串变量。此方法从末尾删除字符串。(示例3)

  • 然后使用if语句检查使用endswith()函数删除子字符串的条件。(示例4)

  • 接下来计算后缀子字符串的长度操作,并执行以下操作:

    • str_name = str_name[:-len("car")] - 通过这种表示方法,我们用减号表示给定后缀子字符串的长度。(示例1)

    • str_name = str_name[:len(str_name)-len(suffix_name)] - 通过这种表示方法,我们从给定字符串中减去字符串的长度。(示例2)

    • 接下来,使用replace方法替换指定的字符串并获取结果。(示例4)

    • 因此,我们将以此方式删除后缀子字符串。

  • 最后,我们借助输入字符串变量打印结果。

示例1

在这个程序中,我们使用预定义函数endswith()来设置后缀字符串,并通过表示减号“-”来删除后缀的长度,然后获取结果。

str_name = "RANSOMEWARE"
if str_name.endswith("car"):
   str_name = str_name[ :-len("WARE") ]
print( "After deleting the given suffix:", str_name )

输出

After deleting the given suffix: RANSOME

示例2

在这个程序中,我们采用两个变量——输入字符串和后缀字符串,然后使用预定义函数endswith()设置后缀字符串。为了删除后缀子字符串,我们从给定字符串变量的总长度中减去后缀变量的长度。

str_name = "Doctorate"
suffix_name = "ate"
if str_name.endswith( suffix_name ):
   str_name = str_name[ :len(str_name)-len(suffix_name) ]
print( "After deleting the given suffix:", str_name )

输出

After deleting the given suffix: Doctor

示例3

在这个程序中,我们使用预定义函数rstrip()从给定字符串中删除后缀子字符串并获取结果。

str_name = "Rectangle"
str_name = str_name.rstrip( "gle" )
print( "After deleting the given suffix:", str_name )

输出

After deleting the given suffix: Rectan

示例4

在下面的示例中,我们将开始将输入字符串存储在变量str_name中。然后将要删除的子字符串存储在变量del_suffix中。然后使用if语句检查使用内置方法endswith()的字符串删除条件。接下来,使用接受两个参数的replace方法- del_suffix(删除子字符串)和""(空字符串,用于存储其余字符串)。然后使用变量del_suffix打印结果。

str_name = "abcdefghi"
del_suffix = "ghi"
if str_name.endswith(del_suffix):
   str_name = str_name.replace(del_suffix, "")
print("After delete the substring from the given string:",str_name)

输出

After deleting the substring from the given string: abcdef

结论

我们探讨了从给定字符串中删除后缀子字符串的概念。我们看到了这个程序的三个示例,并且解决方法通过采用长度运算和预定义方法而有所不同。这种类型的程序通常用于删除以相同后缀结尾的多个单词。

更新于:2023年6月1日

2K+ 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告