python3_String复习

"""
Time = "2021-08-10"
Author = "Yblackd"
Desc = "python_String 常用方法练习"
"""


(1)字符中大小写转换

  • S.lower():字母大写转换成小写。
  • S.upperO:字母小写转换成大写。
  • S.swapcase():字母大写转换小写,小写转换成大写。
  • S.title():将首字母大写。

(2)字符串搜索、替换

  • S.find(substr,[start,[end]]):返回S中出现substr的第一个字母的下下标,如果S中没有substr则返回-1,start 和end作用就相当于在S[start:end]中按索。
  • S.count(subetr,[start,[end]]):计算substr在S中出现的次数。
  • S.replace(oldstr,newstr,[count]):把S中的oldstar 替换为newstr,count为替换次数,
  • S.strip([chars]):把S左右两端chars中有的字符全部去掉,一般用于去除空格。
  • S.lstrip([chars]):把S左端chars中所有的字符全部去掉。·S.strip([chars]):把S左端chars中所有的字符全部去掉。

(3)字符串分割、组合

  • S.split(sep,[maxsplit]):以sep为分隔符,把S分成一个list。maxsplit表示分割的次数,默认的分割符为空白字符。
  • S.join(seq):把seq代表的序列 改变成 字符串序列,用S连接起来。

(4)字符串编码、解码

  • Unicode: 统一编码, 任何编码转换都需要先转换成 Unicode后, 再转换成 自己需要的编码
  • S.decode([encoding]):将以encoding编码的s解码成unicode编码。 py2中有该方法,但是py3没有该方法, 由于py3中默认是以Unicode解码,所以str类型不需要再将 各种类型的编码 解码成Unicode后 再进行编码转换
  • S.encode([encoding]):将以unicode编码的S编码成encoding,encoding可以是gb2312、gbk、big5, utf8.……

(5)字符串测试

  • S.isalpha():S是否全是字母,至少有一个字符。
  • S.isdigit():S是否全是数字,至少有一个字符。
  • S.isspace():S是否全是空白字符,至少有一个字符。
  • S.islower():S中的字母是否全是小写。
  • S.isupper():S中的字母是否全是大写。
  • S.istitle():S是否是首字母大写的。

代码

__Time__ = "2021-08-10"
__Author__ = "Yblackd"
__Desc__ = "python_String 常用方法练习"


# !/usr/bin/env python
# -*- coding: GBK -*-

import random


def str_case():
    """字符串大小写转换"""
    s = "ThIs a Python"
    print("大写转换成小写: \t %s" % s.lower())
    print("小写转换成大写: \t %s" % s.upper())
    print("大小写转换: \t %s" % s.swapcase())
    print("首字母大写: \t %s" % s.title())
    pass


def str_find():
    """字符串搜索、替换、去除空格"""
    s = " ThIs is a Python  "
    print("字符串搜索: \t %s" % s.find("is"))
    print("字符串统计: \t %s" % s.count("s"))
    print("字符串替换: \t %s" % s.replace("a", "an"))
    print("字符串去左右空格: \t %s" % s.strip())
    print("字符串去 左 空格: \t %s" % s.lstrip())
    print("字符串去 右 空格: \t %s" % s.rstrip())


def str_split():
    """字符串分割、组合"""
    s = " ThIs is a Python  "
    print("字符串分割 : \t %s" % s.split())
    print("字符串组合1 : \t %s" % ("#".join(['ThIs', 'is', 'a', 'Python'])))
    print("字符串组合2 : \t %s" % (" ".join(['ThIs', 'is', 'a', 'Python'])))


def str_code():
    """字符串编码、解码"""
    s = "编解码测试"
    str_utf8 = s.encode("UTF-8")
    str_gbk = s.encode("GBK")

    print("UTF-8 编码:", str_utf8)
    print("GBK 编码:", str_gbk)
    print("UTF-8 解码:", str_utf8.decode('UTF-8', 'strict'))
    print("GBK 解码:", str_gbk.decode('GBK', 'strict'))


def str_test():
    """
    字符串测试
    :return bool
    """
    s = "abcd"
    s1 = "123a"
    s2 = "123"
    s3 = "  "
    s4 = "abcde"
    s5 = "ABCDE"
    s6 = "Abcde"
    print("是否全是字母 \t%s" % s1.isalpha())
    print("是否全是数字 \t%s" % s2.isdigit())
    print("是否全是空白字符 \t %s" % s3.isspace())
    print("是否全部小写 \t %s" % s4.islower())
    print("是否全部大写 \t %s" % s5.isupper())
    print("是否首字母大写 \t %s" % s6.istitle())


def test():
    """
    python中 列表中 放str类型的数字, print是不带双引号,想要将结果给C++,需要输出带双引号的值
    :return:
    """
    l1 = []
    for i in range(100):
        l1.append(("\"%s\"" % str(i)))
    s1 = ", ".join(l1)
    print(s1)


if __name__ == '__main__':
    # str_case()
    # str_find()
    # str_split()
    # str_code()
    # str_test()
    test()

posted @ 2021-08-10 02:36  yblackd  阅读(48)  评论(0编辑  收藏  举报