replace替换字符串里的数字为空

164 阅读1分钟

在 Python 中,可以使用字符串的 replace 方法或正则表达式来将字符串中的数字替换为空字符串。以下是两种常见的方式:


方法 1:使用正则表达式

使用 re.sub 函数,可以一次性替换所有数字:

import re

# 示例字符串
text = "abc123def456ghi789"

# 替换所有数字为空字符串
result = re.sub(r'\d', '', text)
print(result)  # 输出: "abcdefghi"

方法 2:使用字符串替换(逐个替换)

如果字符串中数字范围已知(0-9),可以使用字符串的 replace 方法循环替换:

# 示例字符串
text = "abc123def456ghi789"

# 替换数字
for num in "0123456789":
    text = text.replace(num, "")
    
print(text)  # 输出: "abcdefghi"

对 DataFrame 应用替换

如果需要对 Pandas DataFrame 的列进行数字替换,可以使用 str.replace 方法:

import pandas as pd

# 创建示例 DataFrame
df = pd.DataFrame({'column': ['abc123', 'def456', 'ghi789']})

# 替换数字为空字符串
df['column'] = df['column'].str.replace(r'\d', '', regex=True)

print(df)
# 输出:
#   column
# 0    abc
# 1    def
# 2    ghi

总结

  1. 推荐用 re.sub:适合直接操作字符串。
  2. 字符串循环替换:简单但不如正则表达式高效。
  3. Pandas str.replace:用于批量替换 DataFrame 中的列值。