Python教程

Python中字符串的基本操作

本文主要是介绍Python中字符串的基本操作,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、字符串

字符串可以理解为一段普通的文本内容,在python里,使用引号来表示一个字符串,不同的引号表示的效果会有区别。

str = 'Hello World'  # 一对单引号
str = "Hello World"  # 一对双引号
str = 'Tom said:"I am Tom!"'  # 一对单引号
str = 'Tom said:"I\'m Tom!"'  # 转义字符
str = """Tom said:"I'm Tom!"""  # 三个双引号
str = '''Tom said:"I'm Tom!'''  # 三个单引号
  • 双引号或者单引号中的数据,就是字符串
  • 如果使用一对引号来定义字符串,当出现符号冲突时可以使用转义字符
  • 使用三个单引号、双引号定义的字符串可以包裹任意文本

二、转义字符

转义字符含义
\r将当前位置移到本行开头
\n换行
\t用来表示一个制表符
\\代表一个反斜线字符\
\’用来显示一个单引号
\’’用来显示一个双引号

三、字符串索引

在计算机中,每个字符串储存在相应的位置里,要取出相应的字符,需利用下标的方法(下标从0开始)

a = 'abcdefg'
print(a[0])
print(a[1])
print(a[2])

结果:
在这里插入图片描述

注:字符串的索引下标范围为0到(len-1)或者为(-len)到-1

四、字符串遍历

所谓遍历,可以理解为按照一定的规则(一般情况下就是数据的下标),访问每一个数据。不是所有的数据都能够被遍历,字符串是可迭代对象,能够进行遍历。

可以使用while和for语句,对字符串里的元素进行遍历。

  • while循环遍历
a = 'abcdefg'
i = 0
while i < len(a):
    print(a[i])
    i += 1
  • for循环遍历
a = 'abcdefg'
for i in a:
    print(i)

五、字符串切片

切片:字符串,列表
格式:字符串变量[start:end:step]---> start~end-1,默认start为0,左闭右开;最后step参数为步长,默认为1,取负数代表反方向取
例:
a = 'hello world'
print(a[0:5]) ---> hello
print(a[-5:-1]) ---> worl 
print(a[-5:]) ---> world
print(a[1:-1]) ---> ello worl 
print(a[::2]) ---> hlowrd
print(a[::-1]) ---> dlrow olleh
print(a[::-2]) ---> drwolh

六、字符串的常见操作

  • 获取长度:len
  • 查找内容:find,index,rfind,rindex
  • 判断:startwith,endswith,isalpha,isalnum,isspace
  • 计算出现次数:count
  • 替换内容:replace
  • 切割字符串:split,rsplit,splitlines,partition,rpartition
  • 修改大小写:capitalize,title,upper,lower
  • 空格处理:ljust,rjust,center,lstrip,rstrip,strip
  • 字符串拼接:join

获取长度

len函数可以获取字符串的长度

a = 'hello world'
print(len(a)) # ----> 11

查找内容

  1. find

    查找指定内容在字符串中是否存在,如果存在就返回该内容在字符串中第一次出现的开始位置索引值,如果不存在,则返回-1.

    语法格式:

S.find(sub[, start[, end]]) -> int

​ 示例:

a = '趁势而上全面开启社会主义现代化建设新征程,中华人民共和国万岁!社会主义万岁!'
print(a.find('社会主义'))  # --->8 '社会主义'第一次出现时,'社'所在位置
print(a.find('社恐'))  # ---> -1 '社恐'没有在字符串中出现,返回-1
print(a.find('社会', 12))  # ---> 31 从下标12开始查找'社会',找到'社'的位置是
print(a.find('社会', 1, 6))  # ---> -1 从下标1到6开始查找'社会',没找到返回-1
  1. rfind

和find函数相似,不过是从右边开始查找。

  1. index

和find函数相似,不过find方法未找到时,返回-1,而index未找到时会报错。

  1. rindex

和index()一样的,只不过是从右边开始查找。

判断

  1. startswith

判断字符串是否以指定内容开始。结果返回布尔值。语法格式:

S.startswith(prefix[, start[, end]]) -> bool
  1. endswith

和startswith函数相似,判断字符串是否以指定内容结束。同样返回布尔值。

  1. isalpha

判断字符串是否是纯字母,同样返回一个布尔值。

  1. isdigit

判断字符串是否是纯数字,只要出现非0-9的数字,结果就是False。

  1. isalnum

判断字符串是否由数字和字母组成,只要出现了非数字和非字母,结果就是False。

  1. isspace

判断字符串是否只包含空格,如果是则返回True。

计算出现次数

count

计算一个字符串中某个字符或者字符串出现的次数,语法格式:

S.count(sub[, start[, end]]) -> int

示例:

mystr = '趁势而上全面开启社会主义现代化建设新征程,中华人民共和国万岁!社会主义万岁!'
print(mystr.count('万岁'))  # 2. '万岁'字出现两次

替换内容

replace

替换字符串中指定的内容,如果指定次数count,则替换不会超过count次

示例:

str = '你说rap我说No!'
new_str1 = str.replace('No', 'Yes')
new_str2 = str.replace('说', '唱')
new_str3 = str.replace('说', '唱', 1)
print(new_str1,new_str2,new_str3)

结果:
在这里插入图片描述
切割字符串(切片)

  1. split

以指定字符串为分隔符切片,如果 maxsplit有指定值,则仅分隔 maxsplit+1 个子字符串。返回的结果是一个列表。

示例:

a = '趁势而上全面开启社会主义现代化建设新征程,中华人民共和国万岁,社会主义万岁!'
result = a.split()  # 没有空白字符,所以字符串未被分割
result1 = a.split('社会')  # 以'社会'为分隔符
result2 = a.split('社会', 1)  # 以'社会'为分割符,最多分为2份
print(result)
print(result1)
print(result2)

结果:
在这里插入图片描述
2. rsplit

用法和split一样,只不过是从右往左进行分割

  1. splitlines

按照行分割,返回一个包含各行作为元素的列表

示例:

mystr = 'hello \nworld'
print(mystr.splitlines())

结果:
在这里插入图片描述
4. partition

把字符串以所选内容分割问三部分。示例:

a = '趁势而上全面开启社会主义现代化建设新征程,中华人民共和国万岁,社会主义万岁!'
print(a.partition('社会'))

结果:
在这里插入图片描述
5. rpartition

和partition一样,只不过是从右边开始

修改大小写

修改大小写的功能只对英文有效,主要包括:首字母大写capitalize,每个单词的首字母大写title,全小写lower,全大写upper。

空格处理

  1. ljust

返回指定长度的字符串,并在右侧使用空白字符补全,即左对齐。

  1. rjust:右对齐。
  2. center:居中。
  3. lstrip:删除字符串左边的空白字符。
  4. rstrip:删除字符串右边的空白字符
  5. strip:删除两端的空白字符。

示例:

a = 'hello world'
str = a.ljust(15)
print(str)
print(len(str))
str1 = a.rjust(15)
print(str1)
str2 = a.center(15)
print(str2)

结果:
在这里插入图片描述
字符串拼接

把参数进行遍历,取出参数里的每一项,然后再在后面加上要拼接的字符串,最后一个参数后面不添加。

示例:

str = 'a'
print(str.join('123'))
print(str.join(['keep','good','data']))

结果:
在这里插入图片描述
作用:可以把列表或者元组快速地转为字符串,并且以指定的字符分割

示例:

txt = '_'
print(txt.join(['a', 'b', 'c']))
print(txt.join(('a', 'b', 'c')))

结果:
在这里插入图片描述
七、补充说明

  1. 字符串和字符串之间能够使用加法运算符,作用是将两个字符串拼接成为一个字符串。例如:'hello' + 'world'的结果是 'helloworld'
  2. 字符串和数字之间可以做乘法运算,结果是将指定的字符串重复多次。例如:'hello'*2的结果是hellohello
  3. 字符串和字符串之间,如果使用比较运算符进行计算,会获取字符对应的编码,然后进行比较。
  4. 除上述几种运算符以外,字符串默认不支持其他运算符。
这篇关于Python中字符串的基本操作的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!