原文: Python strip() – How to Trim a String or Line

在这篇文章中,你将学习如何使用 .strip() 方法在 Python 中修剪一个字符串。

你还将看到如何使用 .lstrip().rstrip() 方法,它们是与 .strip() 相对应的。

让我们开始吧!

如何在 Python 中修剪一个字符串

Python 有三种内置方法用于修剪字符串中的开头和结尾处的空白及字符:

  • .strip()
  • .lstrip()
  • .rstrip()

每种方法都返回一个新的修剪过的字符串。

如何在 Python 中删除字符串开头和结尾的空白

.strip() 方法没有参数时,它从一个字符串中删除任何开头和/或结尾的空白。

因此,如果一个词或短语的开头和/或结尾处有空白,默认情况下,.strip() 将单独删除它。

下面的变量 greeting 中存储有字符串 “Hello”。该字符串的右边和左边都有空格。

greeting = "     Hello!  "

print(greeting,"How are you?")

#output
#     Hello!   How are you?

要删除这两个,你可以使用 .strip() 方法,像这样:

greeting = "     Hello!  "

stripped_greeting = greeting.strip()

print(stripped_greeting,"How are you?")

#output
#Hello! How are you?

你也可以用这种方式使用 .strip() 方法:

greeting = "     Hello!  "

print(greeting.strip(),"How are you?")

#output
#Hello! How are you?

如何在 Python 中删除字符串的开头和结尾的字符

.strip() 方法接受作为参数传递的可选字符。

你输入的参数字符指定了你想从字符串的开头和结尾处删除哪些字符。

下面是这种情况的一般语法:

str.strip(char)

将你指定的字符放在引号里。

因此,举例来说,假设你有以下字符串:

greeting = "Hello World?"

你想删除 “H” 和 “?”,它们分别位于字符串的开头和结尾。

为了删除它们,你把这两个字符作为参数传给 strip()

greeting = "Hello World?"

stripped_greeting = greeting.strip("H?")

print(stripped_greeting)

#output
#ello World

注意当你想从 “World” 中删除 “W” 时,会发生什么。“W” 在字符串的中间,而不是在字符串的开头或结尾,而你把它作为一个参数。

greeting = "Hello World?"

stripped_greeting = greeting.strip("HW?")

print(stripped_greeting)
#ello World

它不会被删除! 只有所述字符串的开头和结尾的字符会被删除。

请看下一个例子。

假设你想删除字符串的前两个和最后两个字符。

phrase = "Hello world?"

stripped_phrase = phrase.strip("Hed?")

print(stripped_phrase)

#output
#llo worl

字符串的前两个字符(“He”)和后两个字符(“d?”)已经被删除。

另外需要注意的是,该参数并不是只删除指定字符的第一个实例。

例如,假设你有一个字符串,开头有几个句号,结尾有几个感叹号:

phrase = ".....Python !!!"

当你指定 .! 作为参数时,所有两者的实例都将被删除。

phrase = ".....Python !!!"

stripped_phrase = phrase.strip(".!")

print(stripped_phrase)

#output
#Python 

如何在 Python 中只删除字符串开头的空白和字符

要想只删除开头的空白和字符,可以使用 .lstrip()

当你想只从字符串的开头去除空白和字符时,这很有帮助。

这方面的一个例子是删除域名中的 www.

domain_name = "www.freecodecamp.org www."

stripped_domain = domain_name.lstrip("w.")

print(stripped_domain)

#output
#freecodecamp.org www.

在这个例子中,我在字符串的开头和结尾都使用了 w. 字符来展示 .lstrip() 的工作原理。

如果我使用 .strip(w.),就会有以下输出:

freecodecamp.org 

删除空白也是如此。

让我们举一个上一节的例子。

greeting = "     Hello!  "

stripped_greeting = greeting.lstrip()

print(stripped_greeting,"How are you?" )

#output
#Hello!   How are you?

从输出中只删除了字符串开头的空白部分。

如何在 Python 中只删除字符串结尾的空白和字符

要想只删除结尾的空白和字符,可以使用 .rstrip() 方法。

假设你想只从一个字符串的结尾处删除所有的标点符号,你会做如下操作:

enthusiastic_greeting = "!!! Hello !!!!"

less_enthusiastic_greeting = enthusiastic_greeting.rstrip("!")

print(less_enthusiastic_greeting)

#output
#!!! Hello 

对于空白也是如此。

再以前面的例子为例,这一次,只从输出的结尾处删除空白:

greeting = "     Hello!  "

stripped_greeting = greeting.rstrip()

print(stripped_greeting,"How are you?")

#output
#     Hello! How are you?

小结

就是这些啦,你学习了如何在 Python 中修剪字符串的基本知识。

总结一下:

  • 使用 .strip() 方法从一个字符串的开头和结尾删除空白和字符
  • 使用 .lstrip() 方法,只从字符串的开头删除空白和字符
  • 使用 .rstrip() 方法,只从字符串的结尾删除空白和字符

要了解有关 Python 编程语言的更多信息,请查看 freeCodeCamp 的 Python 认证。你将从基础开始,通过对初学者友好的互动方式学习。最后,你还将构建五个项目以巩固你所学的知识。

祝你编程愉快!