Python基础:字符串与正则表达式详解
需积分: 10 181 浏览量
更新于2024-07-09
收藏 3.26MB PPTX 举报
k' + 'is' + 'a' + 'Python' + 'fan'
>>> print('sample_str4:', sample_str4)
运行结果如下:
sample_str4:JackisPythonfan
3、字符串的遍历
字符串是不可变序列,可以通过for循环进行遍历,访问其中的每一个字符。例如:
```python
>>> for char in 'JacklovesPython':
... print(char)
```
输出结果:
J
a
c
k
l
o
v
e
s
P
y
t
h
o
n
4、字符串的包含判断
可以使用in关键字来判断一个字符串是否包含在另一个字符串中,例如:
>>> 'Python' in 'JacklovesPython'
True
5、字符串的索引和切片
字符串中的每个字符都有一个对应的索引,从0开始。切片操作可以获取字符串的一部分,如:
>>> sample_str5 = 'JacklovesPython'
>>> print(sample_str5[0]) # 获取第一个字符
J
>>> print(sample_str5[1:5]) # 获取从第二个字符到第五个字符
ackl
6、字符串的不可变性
字符串一旦创建,其内容就不能被修改。尝试修改字符串中的某个字符会导致错误,例如:
```python
>>> sample_str6 = 'Hello'
>>> sample_str6[0] = 'H' # 这将引发TypeError
```
7、字符串方法
Python提供了丰富的字符串方法,如`lower()`将字符串转换为小写,`upper()`转换为大写,`strip()`去除两侧的空白字符,`split()`按指定分隔符切割字符串等。例如:
```python
>>> sample_str7 = ' Hello, World! '
>>> print(sample_str7.lower()) # 转换为小写
hello, world!
>>> print(sample_str7.strip()) # 去除两侧空白
Hello, World!
>>> print(sample_str7.split(',')) # 按逗号切割
[' Hello', ' World!']
```
8、正则表达式
正则表达式是一种强大的文本处理工具,用于匹配、查找、替换符合特定模式的字符串。Python中使用`re`模块来支持正则表达式。例如,匹配所有数字:
```python
import re
>>> text = 'The price is $123.45'
>>> pattern = r'\d+' # 匹配一个或多个数字
>>> matches = re.findall(pattern, text)
>>> print(matches) # 输出匹配到的数字列表
['123']
```
9、正则表达式的常见元字符
- `.` 代表任意字符
- `\d` 代表数字(等价于 `[0-9]`)
- `\D` 代表非数字(等价于 `[^0-9]`)
- `\w` 代表字母数字下划线(等价于 `[a-zA-Z0-9_]`)
- `\W` 代表非字母数字下划线(等价于 `[^a-zA-Z0-9_]`)
- `^` 表示匹配行首
- `$` 表示匹配行尾
- `*` 表示前面的字符可以出现0次或多次
- `+` 表示前面的字符至少出现1次
- `{n}` 表示前面的字符出现n次
- `{n,}` 表示前面的字符至少出现n次
- `{n,m}` 表示前面的字符出现n次到m次
10、正则表达式的匹配操作
使用`re.match()`来尝试匹配字符串开头,`re.search()`在整个字符串中搜索匹配,`re.findall()`返回所有匹配项的列表,`re.sub()`用于替换匹配到的部分。
通过学习本章,你将掌握Python中的字符串基础操作以及正则表达式,为处理文本数据打下坚实基础。在实际的大数据应用中,字符串和正则表达式是不可或缺的工具,对于数据清洗、数据提取、数据验证等工作都发挥着重要作用。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2021-05-16 上传
2024-07-13 上传
2020-04-22 上传
2021-09-30 上传
2021-11-14 上传
2022-11-10 上传
Satushi-sho
- 粉丝: 2872
- 资源: 78
最新资源
- 深入浅出:自定义 Grunt 任务的实践指南
- 网络物理突变工具的多点路径规划实现与分析
- multifeed: 实现多作者间的超核心共享与同步技术
- C++商品交易系统实习项目详细要求
- macOS系统Python模块whl包安装教程
- 掌握fullstackJS:构建React框架与快速开发应用
- React-Purify: 实现React组件纯净方法的工具介绍
- deck.js:构建现代HTML演示的JavaScript库
- nunn:现代C++17实现的机器学习库开源项目
- Python安装包 Acquisition-4.12-cp35-cp35m-win_amd64.whl.zip 使用说明
- Amaranthus-tuberculatus基因组分析脚本集
- Ubuntu 12.04下Realtek RTL8821AE驱动的向后移植指南
- 掌握Jest环境下的最新jsdom功能
- CAGI Toolkit:开源Asterisk PBX的AGI应用开发
- MyDropDemo: 体验QGraphicsView的拖放功能
- 远程FPGA平台上的Quartus II17.1 LCD色块闪烁现象解析