您的位置:

Python中strip的用法及去除空格

一、strip()方法的使用

strip()方法是Python中常用的字符串方法,它用于去掉字符串首尾的指定字符,默认为去除空格字符。

示例代码:

str1 = "  hello world  "
print(str1.strip())  # 输出"hello world"
print(str1.strip(" "))  # 输出"hello world"
print(str1.strip(" h"))  # 输出"ello world"

strip()方法可以接收一个参数,表示要去除的字符。如果字符串中包含多个连续出现的指定字符,则只会去除首尾的。

二、去除空格的方法

除了使用strip()方法去除空格外,还可以使用其他方法实现。

1. replace()方法

replace()方法可以将一个字符替换为另一个字符,通过将空格替换为空字符串来去除字符串中的空格。

示例代码:

str1 = "  hello world  "
print(str1.replace(" ", ""))  # 输出"helloworld"

2. split()方法

split()方法可以将字符串按指定字符分割成列表,通过将字符串按空格分割再用join()方法拼接列表的元素来去除空格。

示例代码:

str1 = "  hello world  "
print("".join(str1.split()))  # 输出"helloworld"

3. 正则表达式

利用正则表达式模块re,通过re.sub()方法将字符串中的空格替换为空字符串。

示例代码:

import re

str1 = "  hello world  "
print(re.sub(r"\s+", "", str1))  # 输出"helloworld"

三、多种方法的性能差异

在Python中,有多种方法可以去除字符串中的空格,但它们的性能并不相同。下面利用timeit模块比较不同方法的性能。

示例代码:

import timeit

# strip()方法
print(timeit.timeit('str1="  hello world  "; str1.strip()', number=1000000))

# replace()方法
print(timeit.timeit('str1="  hello world  "; str1.replace(" ", "")', number=1000000))

# split()方法
print(timeit.timeit('str1="  hello world  "; "".join(str1.split())', number=1000000))

# 正则表达式方法
import re
print(timeit.timeit('str1="  hello world  "; re.sub(r"\s+", "", str1)', number=1000000))

测试结果表明,strip()方法是去除空格最快的方法。