python常见字符串处理函数与用法汇总

Python常见字符串处理函数与用法汇总

本文将介绍Python中常用的字符串处理函数及用法,包括字符串基础操作、正则表达式、字符串格式化等。

一. 字符串基础操作

1. 字符串切片

字符串切片(Slicing)指的是截取字符串的一部分,其语法为:

s[start:end:step]

其中:

  • start:表示所需字符串的起始索引,默认为0。
  • end:表示所需字符串的结束索引(不包含该索引对应的字符),默认为字符串的长度。
  • step:表示获取字符串的步长,即每个间隔字符的跨度,默认为1。

示例:

s = "hello, world!"
print(s[0:5])   # 输出 hello
print(s[7:12])  # 输出 world
print(s[0:5:2]) # 输出 hlo

2. 字符串常用方法

  • len(s):返回字符串s的长度。
  • s.strip([char]):返回去掉前后空格的字符串。若指定char参数,则去掉前后char字符。
  • s.split([sep]):返回字符串ssep分隔的数组。
  • s.replace(old, new[, count]):返回用new字符串替换s中所有old字符串的结果。若指定count参数,则表示最多替换count次。
  • s.lower():返回s的小写字符串。
  • s.upper():返回s的大写字符串。
  • s.startswith(prefix):如果sprefix字符串开头,则返回True;否则返回False。
  • s.endswith(suffix):如果ssuffix字符串结尾,则返回True;否则返回False。

示例:

s = "  Hello, World!  "
print(len(s))                      # 输出 15
print(s.strip())                   # 输出 Hello, World!
print(s.strip("!"))                # 输出   Hello, World
print(s.split(","))                # 输出 ['  Hello', ' World!  ']
print(s.replace('o', 'e', 1))      # 输出 Helle, World!
print(s.lower())                   # 输出   hello, world!
print(s.upper())                   # 输出   HELLO, WORLD!
print(s.startswith("  Hello"))     # 输出 True
print(s.endswith("World!  "))      # 输出 True

二. 正则表达式

1. re模块

Python正则表达式使用re模块实现。该模块提供了一些常用的方法:

  • re.match(pattern, string):尝试从字符串的起始位置匹配一个模式,成功返回一个匹配对象,失败返回None。
  • re.search(pattern, string):扫描整个字符串,并返回第一个匹配的对象。
  • re.findall(pattern, string):搜索字符串中所有符合规则的模式,并返回一个列表。
  • re.sub(pattern, repl, string):用repl替换字符串中符合规则的模式。

2. 元字符

Python正则表达式中的元字符:

  • .:匹配任何字符。
  • *:匹配前一个字符0次或多次。
  • +:匹配前一个字符1次或多次。
  • ?:匹配前一个字符0次或1次。
  • ^:匹配字符串的开头。
  • $:匹配字符串的结尾。
  • []:匹配中括号内的任一字符。
  • |:匹配左右任意一个表达式。
  • \:转义字符。

示例:

import re

# 匹配字符串中的数字
s = "one1two222three33333"
res = re.findall("\d+", s)
print(res)  # 输出 ['1', '222', '33333']

三. 字符串格式化

1. 字符串格式化方法

Python中的字符串格式化可以通过多个方式实现:

  • 占位符方式:字符串中使用%进行占位格式化。
  • 格式化方法:使用字符串的format()方法进行格式化。
  • f-strings:Python3.6及以上版本支持的字符串格式化方法。

2. 占位符

占位符指的是表示数据类型的字符,如:

  • %s:字符串
  • %d:十进制整数
  • %f:浮点数

示例:

name = "Alice"
age = 25
weight = 57.3

print("My name is %s, I'm %d years old, and I weigh %.1f Kg." % (name, age, weight))
# 输出 My name is Alice, I'm 25 years old, and I weigh 57.3 Kg.

3. 格式化方法

格式化方法是使用字符串的format()方法格式化字符串。其语法为:

s.format(args)

其中s是格式化字符串,args是格式化参数。

示例:

name = "Alice"
age = 25
weight = 57.3

print("My name is {}, I'm {} years old, and I weigh {:.1f} Kg.".format(name, age, weight))
# 输出 My name is Alice, I'm 25 years old, and I weigh 57.3 Kg.

4. f-strings

f-strings是Python3.6及以上版本支持的字符串格式化方法,其语法为:

f'string{expr}...'

其中,string是一般字符串,expr是表达式。f-strings中用花括号{}表示表达式的位置,支持字符串、整数、浮点数等类型的转换。

示例:

name = "Alice"
age = 25
weight = 57.3

print(f"My name is {name}, I'm {age} years old, and I weigh {weight:.1f} Kg.")
# 输出 My name is Alice, I'm 25 years old, and I weigh 57.3 Kg.

以上就是Python中常见的字符串处理函数及用法的总结。通过掌握这些基础操作,能够为后续的Python编程提供强有力的支持。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python常见字符串处理函数与用法汇总 - Python技术站

(0)
上一篇 2023年5月31日
下一篇 2023年5月31日

相关文章

  • 为什么选择Python入门

    这个星球的编程语言有数百上千种,能够称为热门的也只有那十几种而已,比如C、C++、Java、C#、PHP等,这些编程语言也都十分火爆。 但对于新人来讲,尤其是现阶段对编程语言的优劣还没有什么概念的时候,选择哪门编程语言进行入门,是需要特别慎重的。作为站长本人,我为什么建议你选择Python作为入门语言,本章将带你一起探讨。 在此之前,我觉得有必要讲一下本教程…

    2022年10月25日
    00
  • Python异常的检测和处理方法

    Python异常的检测和处理方法 简介 在 Python 编程中,可能会出现各种各样的异常,比如变量未定义、文件不存在、网络连接失败等等。如果不处理异常,程序会直接崩溃,给用户使用带来不便,甚至还会导致数据丢失和安全隐患等。 为了更好的保护程序,Python 引入了异常处理机制,使程序能够自动检测异常并做出相应处理。本文将详细讲解 Python 异常的检测和…

    python 2023年5月13日
    00
  • Python中的优先队列(priority queue)和堆(heap)

    Python中的优先队列(priority queue)和堆(heap) 什么是优先队列(priority queue)和堆(heap) 优先队列(priority queue)是一种数据结构,它是一个元素集合,每个元素都有一个优先级。当加入新元素时,它会自动放到正确的位置,以使集合中优先级最高的元素总是最先被取出。堆(heap)是一种数据结构,它可以用来实…

    python 2023年6月6日
    00
  • PyCharm下载和安装详细步骤

    PyCharm 是全球知名的 Python 集成开发环境(IDE),它集成了众多丰富的功能,包括代码编辑、调试、测试和管理等。如果你是初次使用 PyCharm,可以按照以下步骤进行下载和安装。 1. 下载 PyCharm 在前往官方网站 https://www.jetbrains.com/pycharm/download/ 下载你所需要的版本。通常情况下,主…

    python 2023年5月30日
    00
  • Python venv虚拟环境配置过程解析

    Python虚拟环境是Python开发中的一个重要工具,可以帮助开发者在不同的项目中使用不同的Python版本和依赖库。Python 3.3及以上版本中,可以使用venv模块创建虚拟环境。以下是Pythonvenv虚拟环境配置过程解析: 创建虚拟环境 使用venv模块创建虚拟环境的基本语法如下: python -m venv /path/to/new/vir…

    python 2023年5月14日
    00
  • 带有 Amazon Linux AMI 和 Python 的 MS SQL 驱动程序

    【问题标题】:MS SQL Driver with Amazon Linux AMI an Python带有 Amazon Linux AMI 和 Python 的 MS SQL 驱动程序 【发布时间】:2023-04-04 19:10:01 【问题描述】: 我看过很多关于 PHP 的此类帖子,但没有关于 Python 的帖子。 我正在尝试在 AWS Ela…

    Python开发 2023年4月6日
    00
  • 简单谈谈python中的Queue与多进程

    Python中的Queue模块是实现多线程编程中重要的一个模块,它可以用来实现多线程之间的通信和数据传递。同时,Python中也提供了多进程的支持,与多线程一样,多进程编程中也需要用到队列。 Queue模块 Queue是Python中提供的一个标准库,可以用于实现多线程之间的通信。Queue模块提供的队列分为三种,分别是FIFO队列、LIFO队列和优先级队列…

    python 2023年5月19日
    00
  • Python内存管理方式和垃圾回收算法解析

    Python内存管理方式和垃圾回收算法解析 Python是一种高级编程语言,它具有自动内存管理的特性。Python的内存管理方式和垃圾回收算法是Python编程中的重要概念,本文将详细讲解Python内存管理方式和垃圾回收算法,包括算法原理、Python实现过程和示例。 Python内存管理方式 Python的内存管理是基于引用计数的。当一个对象被创建时,P…

    python 2023年5月13日
    00
合作推广
合作推广
分享本页
返回顶部