Python字符串分割

1. 数组方式截取字符串

获取单个字符

知道字符串名字以后,在方括号[ ]中使用索引即可访问对应的字符,具体的语法格式为:

1
str_name[index]

str_name为字符串名,index为索引值。

Python 允许从字符串的两端使用索引:

  • 当以字符串的左端(字符串的开头)为起点时,索引是从 0 开始计数的;字符串的第一个字符的索引为 0,第二个字符的索引为 1,第三个字符串的索引为 2 ……
  • 当以字符串的右端(字符串的末尾)为起点时,索引是从 -1 开始计数的;字符串的倒数第一个字符的索引为 -1,倒数第二个字符的索引为 -2,倒数第三个字符的索引为 -3 ……

代码演示:

1
2
3
4
5
str = '1234567'
# 获取索引为3的字符,正向(左端开始)写法
print(str[3])
# 反向(右端开始)写法
print(str[-4])

运行结果:

1
2
4
4

获取多个字符(字符串切片)

使用[ ]除了可以获取单个字符外,还可以指定一个范围来获取多个字符,也就是一个子串或者片段,具体格式为:

1
str_name[start : end : step]

注意Python[ ]里用的是:不是,

对各个部分的说明:

  • str_name:要截取的字符串;
  • start:表示要截取的第一个字符所在的索引(截取时包含该字符)。如果不指定,默认为 0,也就是从字符串的开头截取;
  • end:表示要截取的最后一个字符所在的索引(截取时 不包含 该字符)。如果不指定,默认为字符串的长度;
  • step:步长。指的是从start索引处的字符开始,每step个距离获取一个字符,直至end索引出的字符。step默认值为 1,当省略该值时,最后一个冒号也可以省略。

代码演示:

1
2
3
4
5
6
7
str = '1234567'
# 从索引2开始获取到末尾
print(str[2:])
# 从开始获取到索引4
print(str[:4])
# 每隔一个取出一个字符
print(str[::2])

运行结果:

1
2
3
34567
1234
1357

2. 使用split()函数

split()函数

定义和用法

split()方法将字符串拆分为列表。

  • 可以指定分隔符,默认分隔符是任何空白字符。

  • 注释:若指定 max,列表将包含指定数量加一的元素。

语法

1
str.split(separator, max)

参数

  • separator:可选。规定分割字符串时要使用的分隔符。默认值为空白字符。
  • max:可选。规定要执行的拆分数。默认值为 -1,即“所有出现次数”。

代码演示:

1
2
3
txt = "hello, my name is Bill, I am 63 years old"
x = txt.split(", ")
print(x)

运行结果:

1
['hello', 'my name is Bill', 'I am 63 years old']

Python字符串分割
https://excelius.xyz/python字符串分割/
作者
Ther
发布于
2021年8月4日
许可协议