• python 字符串(str)


    字符串是以单引号或者双引号包括的任意文本,字符串不可变。

    创建字符串

    格式:str1 = ‘name1’

    代码如下:

    1. str1 = '字符串1'
    2. str2 = "字符\r\n串2"
    3. print(str1)
    4. print(str2)

    结果:

    1. 字符串1
    2. 字符
    3. 2

    字符串运算

    字符串连接

    通过符号+来对字符串进行连接操作

    代码如下:

    1. str3 = "my name is "
    2. str4 = "zhangsan"
    3. str5 = str3 + str4
    4. print(str5) # my name is zhangsan

    输出重复字符串

    代码如下:

    1. str6 = "good"
    2. print(str6 * 3) # goodgoodgood

    访问字符串字符

    通过索引下标查找字符串中的字符,索引从0开始

    格式:字符串[下标]

    代码如下:

    1. str7 = "my name is zhangsan"
    2. print(str7[1]) # y
    3. print(str7[-1]) # n

    截取字符串

    通过索引下标来截取字符串

    代码如下:

    1. str8 = "my name is li si"
    2. # 从给定起始下标开始截取到给定结束下标之前
    3. str9 = str8[3:6]
    4. # 从头截取到给定下标之前
    5. str10 = str8[:10]
    6. # 从给定下标开始截取到最后
    7. str11 = str8[6:]
    8. print(str9) # nam
    9. print(str10) # my name is
    10. print(str11) # e is li si

    判断字符串是否包含

    通过关键词in来判断字符串是否包含字符。

    代码如下:

    1. str12 = "my name is li si"
    2. print("my" in str12) # True
    3. print("my1" in str12) # False

    方法

    Len()

    返回字符串的长度(中英文一致,空格也视为一个字符)。

    代码如下:

    1. str13 = "十年饮冰 难凉热血"
    2. str13_2 = "snyb nlrx"
    3. print(len(str13)) # 9
    4. print(len(str13_2)) # 9

    Lower()

    转换字符串中大写字母为小写字母。

    Upper()

    转换字符串中小写字母为大写字母。

    代码如下:

    1. str20 = 'Let go of that girl'
    2. print(str20.lower()) # let go of that girl
    3. print(str20.upper()) # LET GO OF THAT GIRL

    Swapcase()

    转换字符串中小写字母为大写字母,大写字母为小写字母。

    代码如下:

    1. str21 = 'Every minute counts'
    2. print(str21.swapcase()) # eVERY MINUTE COUNTS

    Capitalize()

    首字母大写,其他小写。

    代码如下:

    1. str22 = 'pRActice Makes Perfect'
    2. print(str22.capitalize()) # Practice makes perfect

    Title()

    每个单词的首字母大写。

    代码如下:

    1. str23 = 'this is title'
    2. print(str23.title()) # This Is Title

    Count()

    计算特定字符数量,区别大小写。

    代码如下:

    1. str24 = 'fear always springs from ignorance'
    2. # 计算f字符总数量
    3. print(str24.count('f')) # 2
    4. # 计算f字符 从下标3开始 到最后
    5. print(str24.count('f', 3)) # 1
    6. # 计算f字符 从下标3开始 到下标10
    7. print(str24.count('f', 3, 10)) # 0

    Find()

    从左到右检测str字符串是否包含在字符串中,可以指定范围,默认从头到尾。

    得到的第一次出现的下标,没有找到时返回-1。

    Rfind()

    从左往右检测str字符串是否包含在字符串中,返回字符串最后一次出现的位置,如果没有匹配项则返回 -1。

    代码如下:

    1. str25 = 'first come, first served'
    2. print(str25.find('first')) # 0
    3. print(str25.find('First1')) # -1
    4. print(str25.find('first', 10, len(str25))) # 12
    5. print('-'*10) # ----------
    6. print(str25.rfind('first')) # 12
    7. print(str25.rfind('First1')) # -1
    8. print(str25.rfind('first', 10, len(str25))) # 12

    Index()

    从左到右检测str字符串是否包含在字符串中,可以指定范围,默认从头到尾。

    返回第一次出现的下标,没有返回-1。

    Rindex()

    从左到右检测str字符串是否包含在字符串中,返回最后一次出现的下标,没有也是返回-1。

    代码如下:

    1. str26 = "if you make yourself an ass, don't complain if people ride you."
    2. print(str26.index('you')) # 3
    3. print(str26.index('if')) # 0
    4. print('-'*10) # ----------
    5. print(str26.rindex('you')) # 59
    6. print(str26.rindex('if')) # 44

    Lstrip()

    移除字符串左侧指定的字符,默认为空格。

    Rstrip()

    移除字符串右侧指定的字符,默认为空格。

    Strip()

    移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。

    代码如下:

    1. str27 = ' There is plenty of fish in the sea.'
    2. print(str27.lstrip()) # There is plenty of fish in the sea.
    3. str28 = 'There is plenty of fish in the sea. '
    4. print(str28.rstrip()) # There is plenty of fish in the sea.
    5. str29 = ' There is plenty of fish in the sea. '
    6. print(str29.strip()) # There is plenty of fish in the sea.

    Ord()

    主要用于将字符转换为整数,即获取ASCII给定字符的值;

    返回的结果是对应字符的ASCII码。

    Chr()

    函数是ord()函数的配对函数,主要用一个范围内的整数作参数,返回的结果是对应的字符,可以用十进制或者十六进制。

    代码如下:

    1. str30 = 'a'
    2. print(ord(str30)) # 97
    3. str31 = chr(97)
    4. print(str31) # a

    Split()

    字符串转为列表。以str为分隔符截取字符串;num默认字符串长度;

    如果设置则仅截取num个字符串,如果多余则不再截取。

    代码如下:

    1. str32 = 'Art is long, but life is short.'
    2. print(str32.split(' ')) # ['Art', 'is', 'long,', 'but', 'life', 'is', 'short.']
    3. print(str32.split(' ', 3)) # ['Art', 'is', 'long,', 'but life is short.']

    Splitlines()

    行分隔,按照(‘\r’,’\r\n’,’\n’)分隔返回

    代码如下:

    1. str33 = '''健康的身体贵于黄金铸成的皇冠
    2. 远亲不如近邻
    3. 勇气和坚定是美德的精神和灵魂
    4. '''
    5. print(str33.splitlines())

    结果:

    ['健康的身体贵于黄金铸成的皇冠', '远亲不如近邻', '勇气和坚定是美德的精神和灵魂']

    Join()

    列表转字符串。Join(seq)以指定的字符串分隔符,将seq中的所有元素组装成一个字符串。

    代码如下:

    1. str34 = ['Walls', 'have', 'ears']
    2. print(' '.join(str34)) # Walls have ears

    Max()

    最大值

    Min()

    最小值

    代码如下:

    1. print(max('123456')) # 6
    2. print(min('123456')) # 1
    3. print(max('zhangsan')) # z
    4. print(min('zhangsan')) # a

    Replace()

    Replace(oldstr, newstr, count),用newstr替换oldstr,默认是全部替换。

    如果指定了count,那么只替换前count个。

    代码如下:

    1. str34 = 'Life is short and art is long'
    2. str35 = str34.replace('is', 'not is', 1)
    3. str36 = str34.replace('is', 'not is')
    4. print(str34) # Life is short and art is long
    5. print(str35) # Life not is short and art is long
    6. print(str36) # Life not is short and art not is long

    映射表方式替换

    1. # 创建一个字符串映射表
    2. # 要替换的字符串 目标字符串
    3. t1 = str.maketrans('ax', '12')
    4. # a--1 x--2
    5. str37 = 'hao hao xue xi tian tian xiang shang'
    6. str38 = str37.translate(t1)
    7. print(str38) # h1o h1o 2ue 2i ti1n ti1n 2i1ng sh1ng

    Startswitch()

    在给定范围内判断是否是以给定的字符串开头,如果没有指定范围,默认整个字符串。

    Endswitch()

    在给定范围内判断是否是以给定的字符串结尾,如果没有指定范围,默认整个字符串。

    代码如下:

    1. str39 = 'my name is zhangsan'
    2. print(str39.startswith('my')) # True
    3. print(str39.endswith('zhangsan')) # True

    Encode()

    encode(encoding=’utf-8’, error=’strict’)

    对字符串进行编码utf-8/gbk。

    代码如下:

    1. str40 = 'first come, first served'
    2. data1 = str40.encode('utf-8')
    3. print(data1) # b'first come, first served'

    Decode()

    对字符串进行解码。注意:要与编码时的编码格式一致。

    代码如下:

    1. print(data1.decode('utf-8'))
    2. # first come, first served

    忽略错误

    当解码时编码不一致时,可以通过ignore参数设置来忽略解码时错误。

    代码如下:

    1. str40 = 'first come, first served开心'
    2. data1 = str40.encode('utf-8', 'ignore')
    3. print(data1)
    4. # b'first come, first served\xe5\xbc\x80\xe5\xbf\x83'
    5. print(data1.decode('gbk', 'ignore'))
    6. # first come, first served寮蹇

    Isalpha()

    如果字符串中至少有一个字符且所有的字符都是字母返回True,否则返回False。

    代码如下:

    1. str41 = 'zhang san is a lawyer'
    2. print(str41.isalpha())
    3. # 因为有空格 所有返回False

    Isalnum()

    如果字符串中至少有一个字符且所有的字符是字母或数字返回True,否则返回False。

    代码如下:

    1. str42 = '123456'
    2. print(str42.isalnum()) # True

    Isupper()

    如果字符串中至少有一个英文字符且所有的字符都是大写字母返回True,否则返回False。

    代码如下:

    1. print('ABC'.isupper()) # True
    2. print('ABC1'.isupper()) # True
    3. print('ABC#'.isupper()) # True

    Islower()

    如果字符串中至少有一个英文字符且所有的字符都是小写字母返回True,否则返回False。

    代码如下:

    1. print('abc'.islower()) # True
    2. print('abcA'.islower()) # False
    3. print('1'.islower()) # False
    4. print('abc1'.islower()) # True
    5. print('abc#'.islower()) # True

    Istitle()

    如果字符串是标题化的返回True,否则返回False。

    代码如下:

    1. print('Zhang San'.istitle()) # True
    2. print('Zhang san'.istitle()) # False
    3. print('zhang san'.istitle()) # False

    Isdigit()

    如果字符串中只包含数字字符返回True,否则返回False。

    代码如下:

    1. print('123'.isdigit()) # True
    2. print('123a'.isdigit()) # False

    Isnumeric()

    同isdigit()

    代码如下:

    1. print('123'.isnumeric()) # True
    2. print('123a'.isnumeric()) # False

    Isdecimal()

    字符串中只包含十进制字符。

    代码如下:

    1. print('123'.isdecimal()) # True
    2. print('123B'.isdecimal()) # False

    Isspace()

    如果字符串中只包含空格则返回True,否则返回False。

    代码如下:

    1. print(' '.isspace()) # True
    2. print(' '.isspace()) # True
    3. print('\t'.isspace()) # True
    4. print('\n'.isspace()) # True
    5. print('\r'.isspace()) # True
    6. print('not'.isspace()) # False

    总结

    python 字符串内容和方法总结。

  • 相关阅读:
    openEuler 22.03 制作openssh9.5p1rpm包
    Host ‘ ‘ is not allowed to connect to this MySQL server
    04_瑞萨GUI(LVGL)移植实战教程之驱动LCD屏(SPI)
    数据结构与算法-第八章 交换排序
    官媒代运营:2023年企业如何建立一个成功的品牌?
    (附源码)app校园购物网站 毕业设计 041037
    TinyOs操作系统---第0章 课程概述
    MongoDB3.x创建用户与用户角色
    【论文阅读 08】Adaptive Anomaly Detection within Near-regular Milling Textures
    人工智能基础 | 机器学习模型评估与选择(二)
  • 原文地址:https://blog.csdn.net/json_ligege/article/details/134273207