Python 3.9及以上版本支持的新的字符串函数 str.removeprefix()

在 Python 3.9 中,新增了 str.removeprefix() 方法,用于从字符串的开头移除指定的前缀(如果存在)。如果字符串不以指定前缀开头,原字符串保持不变。

用法:

python 复制代码
str.removeprefix(prefix)
  • prefix: 要移除的前缀字符串。
  • 返回一个新字符串,没有修改原字符串。

示例代码:

python 复制代码
# 示例字符串
text = "prefix_example"

# 移除前缀
result = text.removeprefix("prefix_")
print(result)  # 输出: example

# 如果前缀不存在,字符串保持不变
result_no_change = text.removeprefix("no_prefix")
print(result_no_change)  # 输出: prefix_example

特点:

  1. 简化代码

    不需要手动使用 startswith 和切片,代码更简洁。

    python 复制代码
    # Python 3.9 之前的写法
    if text.startswith("prefix_"):
        text = text[len("prefix_"):]

    等效于:

    python 复制代码
    # Python 3.9+ 的写法
    text = text.removeprefix("prefix_")
  2. 不修改原字符串

    返回新字符串,原字符串保持不变(字符串是不可变对象)。

  3. 性能高效

    内置实现,性能优于手动切片。


应用场景:

  • 处理文件名:

    python 复制代码
    file_name = "temp_data.txt"
    clean_name = file_name.removeprefix("temp_")
    print(clean_name)  # 输出: data.txt
  • 解析字符串数据:

    python 复制代码
    config = "config_option=value"
    key = config.removeprefix("config_")
    print(key)  # 输出: option=value
  • 移除动态生成的前缀:

    python 复制代码
    logs = ["DEBUG_log1", "DEBUG_log2", "INFO_log3"]
    clean_logs = [log.removeprefix("DEBUG_") for log in logs]
    print(clean_logs)  # 输出: ['log1', 'log2', 'INFO_log3']

注意事项:

  1. 如果未找到前缀,不会报错,直接返回原字符串。
  2. 大小写敏感 ,例如 text.removeprefix("PREFIX_") 不会匹配 prefix_

对应方法:

Python 3.9 同时还引入了 str.removesuffix(),用于移除字符串结尾的指定后缀。

相关推荐
X56614 分钟前
CSS Flex布局如何让特定子元素不参与缩放_设置flex-shrink- 0的实战技巧
jvm·数据库·python
databook7 分钟前
告别手动计算,SymPy 初识与 Manim 联动
python·数学·动效
jayson.h12 分钟前
可视化界面
开发语言·python
weixin_4440129313 分钟前
CSS如何快速实现网站换肤功能_利用CSS变量重置全局颜色方案
jvm·数据库·python
hahaha 1hhh17 分钟前
用SSH 建立了一个本地端口转发隧道,用于安全地访问远程服务器上的服务,后台运行。autodl
服务器·安全·ssh
kgduu20 分钟前
python中的魔法方法
开发语言·python
m0_5967490922 分钟前
Vue.js计算属性computed依赖追踪与副作用函数effect关联机制
jvm·数据库·python
神明93127 分钟前
Golang testing怎么写单元测试_Golang单元测试教程【经典】
jvm·数据库·python
keineahnung234535 分钟前
為什麼要有 eval_is_non_overlapping_and_dense?PyTorch 包裝層與調用端解析
人工智能·pytorch·python·深度学习
您^_^37 分钟前
CosyVoice 在 Windows 上推理不报错、不崩溃,但生成的音频文件是“意义不明“乱码音频
python·个人开发·cosyvoice