扣丁学堂Python培训之Python

发布时间:2019-10-15 09:05:02编辑:auto阅读(2416)

    今天千锋扣丁学堂Python培训老师给大家分享一篇关于python3字符串操作总结的详细介绍,中通过示例代码介绍的非常详细,下面我们一起来看一下吧。

    字符串截取

    s = 'hello'
    s[0:3]
    'he'
    s[:] #截取全部字符
    'hello'

    消除空格及特殊符号

    s.strip() #消除字符串s左右两边的空白字符(包括't','n','r','')
    s.strip('0') #消除字符串s左右两边的特殊字符(如'0'),字符串中间的'0'不会删除

    例如:

    s = '000hello00world000'
    s.strip('0')
    'hello00world'
    s.strip('12')等价于s.strip('21')

    例如:

    s = '12hello21'
    s.strip('12')
    'hello'

    lstrip,rstrip用法与strip类似,分别用于消除左、右的字符

    字符串复制

    s1 = 'hello'
    s2 = s1 # s2 = 'hello'

    若指定长度

    s1 = 'hello'
    s2 = s1[0:2] #s2 = 'he'

    字符串连接

    s1 = 'hello'
    s2 = 'world'
    s3 = s1 + s2 #s3 = 'helloworld'

    或者

    import operator
    s3 = operator.concat(s1,s2) #concat为字符串拼接函数

    字符串比较

    (1)利用operator模块方法比较(python3.X取消了cmd函数)

    包含的方法有:

    lt(a,b)————小于

    le(a,b)————小于等于

    eq(a,b)————等于

    ne(a,b)————不等于

    ge(a,b)————大于等于

    gt(a,b)————大于

    例子:

    import operator
    operator.eq('abc','edf') #根据ASCII码比较
    Flase
    operator.gt('abc','ab')
    True

    (2)关系运算符比较(>,<,>=,<=,==,!=)

    s1 = 'abc'
    s2 = 'ab'
    s1 > s2
    True
    s1 == s2
    False

    求字符串长度

    s1 = 'hello'
    len(s1)
    5

    求字符串中最大字符,最小字符

    s1 = 'hello'
    max(s1) #求字符串s1中最大字符
    'o'
    min(s1) #求字符串s2中最小字符
    'e'

    字符串大小写转换

    主要有如下方法:

    upper————转换为大写

    lower————转换为小写

    title————转换为标题(每个单词首字母大写)

    capitalize————首字母大写

    swapcase————大写变小写,小写变大写

    例子:

    s1 = 'hello'
    s2 = 'WORLD'
    s3 = 'hello world'
    s1.upper()
    'HELLO'
    s2.lower()
    'world'
    s3.title()
    'Hello World'
    s3.capitalize()
    'Hello world'
    s3.title().swapcase()
    'hELLO wORLD'

    字符串翻转

    s1 = 'hello'
    s1[::-1]
    'olleh'

    字符串分割

    split方法,根据参数进行分割,返回一个列表

    例子:

    s1 = 'hello,world'
    s1.split(',')
    ['hello','world']

    字符串序列连接

    join方法:

    语法为str.join(seq)#seq为元素序列

    例子:

    l = ['hello','world']
    str = '-'
    str.join(l)
    'hello-world'

    字符串内查找

    find方法:

    检测字符串内是否包含子串str

    语法为:

    str.find(str[,start,end])#str为要查找的字符串;strat为查找起始位置,默认为0;end为查找终止位置,默认为字符串长度。若找到返回起始位置索引,否则返回-1

    例子:

    s1 = 'today is a fine day'
    s1.find('is')
    6
    s1.find('is',3)
    6
    s1.find('is',7,10)
    -1

    字符串内替换

    replace方法:

    把字符串中的旧串替换成新串

    语法为:

    str.replace(old,new[,max]) #old为旧串,new为新串,max可选,为替换次数

    例子:

    s1 = 'today is a find day'
    s1.replace('find','rainy')
    'today is a rainy day'

    判断字符串组成

    主要有如下方法:

    isdigit————检测字符串时候只由数字组成

    isalnum————检测字符串是否只由数字和字母组成

    isalpha————检测字符串是否只由字母组成

    islower————检测字符串是否只含有小写字母

    isupper————检测字符串是否只含有大写字母

    isspace————检测字符串是否只含有空格

    istitle————检测字符串是否是标题(每个单词首字母大写)

    例子:

    s1 = 'hello'
    s1.islower()
    True
    s1.isdigit()
    False

    字符串转数组

    a = 'My name is Jason'

    使用split(str="", num=string.count(str)) 方法根据不同的分割符转,也可指定分割次数,可使用 ' '.join方法转回

    'My name is Jason'.split(' ')
    ['My', 'name', 'is', 'Jason']
    ' '.join(['My', 'name', 'is', 'Jason'])
    'My name is Jason'

    字符串首尾匹配

    'cat.jpg'.startswith('cat')
    True
    'cat.jpg'.startswith('cat',0,3)
    True
    'cat.jpg'.endswith('.jpg')
    True
    'cat.jpg'.endswith('.jpg',-4)
    True

    字符串空格处理

    s = ' Hello World '
    s.strip()
    'Hello World'
    s.lstrip()
    'Hello World '
    s.rstrip()
    ' Hello World'

    扩展

    'www.example.com'.lstrip('www.')
    'example.com'
    'www.example.com'.lstrip('cmowz.')
    'example.com'

    字符串格式化、数字及大小写判断、长度补全

    字符串的格式化

    '{name},{sex},{age}'.format(age=15,sex='male',name='小安')
    '小安,male,15'
    '{1},{0},{2}'.format('15','小安','male')
    '小安,15,male'
    '{},{},{}'.format('小安', '15','male')
    '小安,15,male'

    如果字符串中的所有字符都是数字,并且至少有一个字符,则返回真,否则返回假

    '123'.isdigit()
    True
    '123一二三'.isdigit()
    False

    isnumeric 是所有字符都是数字字符返回真

    '123一二三'.isnumeric()
    True

    字符串是否大小写判断

    'abc'.islower()
    True
    'Abc'.islower()
    False
    'ABC'.isupper()
    True

    首字母大写

    "they're bill's friends from the UK".title()
    "They'Re Bill'S Friends From The Uk"

    正则处理方式

    import re
    def titlecase(s):
    ... return re.sub(r"[A-Za-z]+('[A-Za-z]+)?",
    ... lambda mo: mo.group(0)[0].upper() +
    ... mo.group(0)[1:].lower(),
    ... s)
    ...
    titlecase("they're bill's friends.")
    "They're Bill's Friends."

    返回指定长度字符串,前面补0,一般存csv文件中含00开头的字符0会被抹掉

    code = '1'
    code.zfill(6)
    '000001'

    字符串长度及遍历

    s = '扣丁'
    len(s)
    3
    for i in s:
    print(i)

    以上就是关于扣丁学堂Python培训之Python3字符串操作总结的全部内容,希望对大家的学习有所帮助,想要了解更多关于Python和人工智能方面内容的小伙伴,请关注扣丁学堂Python培训官网、微信等平台,扣丁学堂IT职业在线学习教育平台为您提供权威的Python开发环境搭建视频,Python培训后的前景无限,行业薪资和未来的发展会越来越好的,扣丁学堂老师精心推出的Python视频教程定能让你快速掌握Python从入门到精通开发实战技能。扣丁学堂Python技术交流群:279521237。

关键字