字符串常用操作

'''字符串的方法
s.index()       s.rindex()
s.find()        s.rfind()
s.count()
s.replace()
s.partition()   s.rpartition()
s.split()       s.rsplit()          s.splitlines()
s.join()
s.strip()       s.lstrip()          s.rstrip()

s.lower()       s.upper()           s.capitalize()      s.title()
s.swapcase()
s.center()      s.ljust()           s.rjust()           s.zfill()
s.startswith()  s.endswith()
s.isdigit()     s.isalpha()         s.istitle()         s.isalnum()
s.isspace()     s.isupper()         s.islower()         s.isnumeric()
s.isdecimal()   s.isidentifier()
s.isprintable()
s.format()
s.encode()
s.translate()
s.expandtabs()
s.maketrans()
'''


# 创建
s = 'asddd'
print(s)
s1 = str('Hello World!')
print(1, s1)
print(s.count('d'))    # 返回给定字符串在监测字符串中的个数

# 修改    # 字符串没法修改,要做改变然后赋值给别的变量,使用别的变量才行
s2 = s1[2]
print(2, s2)
s3 = s1.replace('l', 'L', 2)   # replace(旧字符串,新字符串,替换次数)新的替换旧的,
print(3, s3)                      # 只能填写字符串,就是带' '的,长度不限
s4 = s1.replace('q', 'Q', 2)   # 没找到旧的字符串则不替换
print(4, s4)

# 切片
s5 = s1[::]          # str[开始位置:结束为止(不包括):步长]
print(5, s5)         # 从开始位置(0)开始截取字符串,默认步长为1且截取全部
s6 = s1[::-1]        # 负数的意思是倒着,步长为负则倒着打,所以开始位置应该在结束位置后面,例如[5:1]
print(6, s6)         # 负几代表倒数第几个位置

# 增加
# 可以直接用+号实现字符串之间的连接
print(s1+'hello')
s7 = s1.zfill(15)    # zfill(int)填写int类型,表示用0来填够这个int长度的字符串
print(7, s7)
s8 = s1.ljust(15, '0')   # ljust(width(int),str)左对齐,并用str字符串来填充,使这个字符串长度够指定的int
print(8, s8)
s9 = s1.rjust(15, '0')   # 同上方法只是右对齐,center(width(int),shr)为居中显示,左右填充
print(9, s9)
s10 = s9.lstrip('0')     # lstrip(str),删除字符串左边给定的str字符
s11 = '      p'.lstrip()  # rstrip(str)为删除右边str字符串,strip为删除两边给定字符串
print(10, s10)            # 默认为清除空格
print(11, s11)

# 删除
del s11     # del删除,有两种写法,del(要删除的东西)或者 del 要删除的东西
## print(12, s11)

# 操作
print(s1.capitalize())    # 把字符串第一个字母变成大写字母,其他符号有大写则变成小写
print(s1.title())    # 把遇到的词汇的第一个字母都变成大写,其它字母全变为小写
s12 = s1.upper()    # 字母全部变成大写的
print(13, s12)
s13 = s1.lower()    # 字母全部变成小写的
print(14, s13)
s14 = s1.swapcase()  # 字母的大小写互换
print(15, s14)
s15 = ' '.join(s1)    #a.join(b) 把a字符串放入a字符串的每个字符之间
print(16, s15)
n1 = s1.find('Wo', 0, len(s1))    # find(str, start, end)
print(n1)                         # 查找字符串str,在区间start和end之间
n2 = s1.find('WO', 0, len(s1))    # 找到了则返回找到时(从左到右)第一个位置的下标
print(n2)                         # 没找到则返回-1
n3 = s1.index('Wo', 0, len(s1))   # index(str, start, end)
print(n3)                         # 查找字符串str,在区间start和end之间
## n4 = s1.index('WO', 0, len(s1))   # 找到了的方法同上,不过没找到的时候不返回-1,要报错
## print(n4)
l1 = s1.split(' ', 1)                # split(str, int)
print(l1)                            # 用给定字符串str(原串存在)把字符串分割成列表,默认为空格
l2 = s1.splitlines()                 # 原串不存在给定str是,不分割,直接变为列表
print(l2)                            # int给定分割次数,splitlines这个方法无参数
                                     # splitlines以换行分割字符串为列表
s16 = s1.partition(' ')         # partition(str)用给定字符串(原串中有)把字符串分为三个部分,放入元组里
print(17, s16)                  # 例如hello world!--->('hello',' ','world!')
# 还有rfind,rindex,rsplit,rpartition方法同上,只是方向是从右往左找

s17 = s1.startswith('ll', 2, 4)   # 给定范围,开始的字符串与给定的字符串相等则返回真,否则返回假
print(18, s17)
s18 = s1.endswith('or', -5, -3)   # 同上,只是变成了结尾的字符串
print(19, s18)

print(20, s1.isalpha())    # 判断是否是由全字母组成的字符串,bool型
print(21, s1.isalnum())    # 返回是否是字母或者数字组成的字符串,bool型
print(22, s1.isdigit())    # 返回是否是由数字组成的字符串,bool型
print(23, s1.isspace())    # 返回是否是由空格组成的字符串,bool型
# 还有一些is开头的判断字符串的,见名思意,均为判断的bool型
print(list(enumerate(s1)))
for i in enumerate(s1):    # 转换枚举型,每个字符对应相应的序号(下标),组成元组
    print(i, end=' ')

print()

for i, y in enumerate(s1):  # 拆分枚举元组中序号(下标)和字符串中对应的字符
    print(i, end=' ')
    print(y)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Python中文社区

Python文档精要研读系列(1):map函数

map(function, iterable, ...) Apply function to every item of iterable and return...

21860
来自专栏Nian糕的私人厨房

JavaScript 常见面试题分析(一)

这道题考察的是 JS 的变量类型,JS 的变量类型有值类型和变量类型两种,值类型包括 undefined、字符串、数字、布尔值,引用类型包括对象、数组、函数

9340
来自专栏锦小年的博客

python学习笔记7.3-内建模块collections

Python的内建模块collections为我们提供了一系列的优化操作,本质上就是元组、字典、集合、列表的特殊功能版。 1. namedtuple name...

23350
来自专栏Vamei实验室

Java基础01 从HelloWorld到面向对象

Java是完全面向对象的语言。Java通过虚拟机的运行机制,实现“跨平台”的理念。我在这里想要呈现一个适合初学者的教程,希望对大家有用。 "Hello Worl...

19560
来自专栏数据结构笔记

python基础类型(一):字符串和列表

注意到最后三个的单双引号是嵌套使用的,但是最后一个的使用方法是错误的,因为当我们混合使用两种引号时必须有一种用来划分字符串的边界,即在两边的引号不能出现在字符串...

12320
来自专栏java一日一条

JavaScript 中对象的深拷贝

在JavaScript中,对对象进行拷贝的场景比较常见。但是简单的复制语句只能对对象进行浅拷贝,即复制的是一份引用,而不是它所引用的对象。而更多的时候,我们希望...

10420
来自专栏小白的技术客栈

Python之解析式您知多少?

解析式 解析式 今天给大家介绍Python中的解析式。 ? 解析式简单介绍 解析式, 列表解析 # Python2只有列表解析 生成器解析 # Python...

46650
来自专栏Python爬虫实战

Python数据类型之数字类型

输入1就会显示1,我们怎么知道1就是整数类型呢?在Python里面有一个type()函数,它能告诉我们所代表的类型。

15420
来自专栏破晓之歌

如何创建对象以及jQuery中创建对象的方式(推荐)

在实际使用当中,字面量创建对象虽然很有用,但是它并不能满足我们的所有需求,我们希望能够能够和其他后台语言一样创建一个类,然后声明类的实例就能够多次使用,而不用每...

15220
来自专栏海天一树

小朋友学Python(11):变量类型

Python 定义了一些标准类型,用于存储各种类型的数据。 Python有五个标准的数据类型: Numbers(数字) String(字符串) List(列表)...

438140

扫码关注云+社区

领取腾讯云代金券