Python中必须掌握的常用字符串处理函数

旧城等待, 2022-06-04 08:36 405阅读 0赞






引言

字符串作为一种常见的数据类型,在日常中我们面临各式各样的字符串处理问题,那么,这就要求我们必须掌握一些常用的字符串处理函数。本文尽量囊括常用的字符串处理函数,此文也作为个人的小总结。







Python中常用的字符串处理函数

find()

  • 功能:
    检测字符串是否包含特定字符,如果包含,则返回开始的索引;否则,返回-1。
  • 示例:

    find()函数

    str = ‘hello world’

    ‘wo’在字符串中

    print( str.find(‘wo’) )

    ‘wc’不在字符串中

    print( str.find(‘wc’) )

    输出:

    6

    -1

index()

  • 功能:
    检测字符串是否包含指定字符,如果包含,则返回开始的索引值;否则,提示错误。
  • 示例:

    index()函数

    str = ‘hello world’

    ‘wo’在字符串中

    print( str.index(‘wo’) )

    ‘wc’不在字符串中,程序报错ValueError,终止运行

    print( str.index(‘wc’) )

    输出:

    6

    ValueError: substring not found

count()

  • 功能:
    返回str1在string中指定索引范围内[start, end)出现的次数。
  • 示例:

    count()函数

    str = ‘hello world’

    统计str中全部字母l的个数

    print( str.count(‘l’) )

    统计str中从第5+1个字母到最后一个字母中,字母l的个数

    print( str.count(‘l’, 5, len(str)) )

    输出:

    3

    1

replace()

  • 语法:
    str1.replace(str2, count)
  • 功能:
    将str1中的str1替换成str2,如果指定count,则不超过count次;
  • 示例:

    replace()函数

    print(‘=10, ‘replace()函数’, ‘=10)
    str = ‘hello world hello world’
    str1 = ‘world’
    str2 = ‘waltsmith’

    将所有的str1替换为str2

    print( str.replace(str1, str2) )

    只将前1个str1替换为str2

    print( str.replace(str1, str2, 1) )

    输出:

    hello waltsmith hello waltsmith

    hello waltsmith hello world

split()

  • 语法:
    str.split('分界符', maxSplit)
    maxSplit默认值为-1,表示根据定界符分割所有能分割的;
    返回值为列表;
  • 功能:
    如果 maxsplit有指定值,则仅分割 maxsplit 个子字符串;
  • 示例:

    split()函数

    str3 = ‘I am a good boy!’

    以空格分割字符串,分界符默认为空格

    print(str3.split(‘ ‘, 3))

    以字母o作为分界符,指定最大分割为2,将返回最大分割+1个元素的列表

    print(str3.split(‘o’, 2))

    输出:

    [‘I’, ‘am’, ‘a’, ‘good boy!’]

    [‘I am a g’, ‘’, ‘d boy!’]

capitalize()

  • 语法:
    str.capitalize()
    无参数;
  • 功能:
    将字符串的首字母大写,其余字母全部小写
  • 示例:

    capitalize()函数

    str4 = ‘I aM waLt smith’

    字符串的首字母大写,其余字母全部小写

    print(str4.capitalize())

    输出:

    I am walt smith

title()

  • 语法:
    str.title()
    无参数;
  • 功能:
    将字符串中的所有单词的首字母大写,其余字母全部小写;
    值得注意的是,这里单词的区分是以任何标点符号区分的,即,标点符号的前后都是一个独立的单词,字符串最后一个标点除外哦。详细看示例哈
  • 示例:

    title()函数

    正常字符串的转换

    str5 = “I am walt smith!”
    print(str5.title())

    输出:

    I Am Walt Smith!

    字符中包含标点符号

    str6 = “I’m walt-sMith!”
    print(str6.title())

    输出:

    I’M Walt-Smith!

注意:
也许你也看到了,”I’m walt-sMith!”转换后,“I’M Walt-Smith!”这句话并不是我们想要的结果。这个呢,是时候秀一下正则表达式了。
以下示例通过正则表达式实现:”I’m walt-sMith!”转换为“I’m Walt-Smith!”

  • title()修正示例:

    修正title()

    import re
    def titlecase(s):

    1. return re.sub(r"[A-Za-z]+('[A-Za-z]+)?",
    2. lambda mo: mo.group(0)[0].upper() +
    3. mo.group(0)[1:].lower(), s)

    str7 = “I’m walt’s friend!”
    print(titlecase(str7))

    输出:

    I’m Walt’s Friend!

startswith()

  • 语法:
    str.startswith(str1)
  • 功能:
    检查字符串str是否 以字符串str1开头,若是,则返回True;否则,返回False;
  • 示例:

    startswith()函数

    str8 = “Hello Walt Smith”
    print(str8.startswith(“Hello”))

    输出:

    True

lower()

  • 语法:
    str.lower()
    无参数;
  • 功能:
    将字符串的所有字母转换为小写;
  • 示例:

    lower()函数

    print(‘=10, ‘lower()函数’, ‘=10)
    str10 = “Hello Walt Smith”
    print(str10.lower())

    输出:

    hello walt smith

upper()

  • 语法:
    str.upper()
    无参数;
  • 功能:
    将字符串的所有字母转换为大写;
  • 示例:

    upper()函数

    str10 = “Hello Walt Smith”
    print(str10.upper())

    输出:

    HELLO WALT SMITH

endswith()

  • 语法:
    str.endswith(str1)
  • 功能:
    检查字符串str是否 以字符串str1结尾,若是,则返回True;否则,返回False;
  • 示例:

    endswith()函数

    str9 = “Hello Walt Smith”
    print(str9.endswith(“Smith”))

    输出:

    True

ljust()

  • 语法:
    str.ljust(len)
  • 功能:
    将字符串左对齐,并使用空格填充至指定长度len;
  • 示例:

    ljust()函数

    str10 = “Hello Walt Smith”
    print(“str10的原长度为%d” % (len(str10)))
    print(“str10处理后的长度为%d” % (len(str10.ljust(20))))

    输出:

    str10的原长度为16

    str10处理后的长度为20

rjust()

  • 语法:
    str.rjust(len)
  • 功能:
    将字符串右对齐,并使用空格填充至指定长度len;
  • 示例:

    rjust()函数

    str11 = “Hello Walt Smith”
    print(str11.rjust(20))
    print(“str11的原长度为%d” % (len(str11)))
    print(“str11处理后的长度为%d” % (len(str11.ljust(20))))

    输出:

    ☐☐☐☐Hello Walt Smith

    str11的原长度为16

    str11处理后的长度为20

center()

  • 语法:
    str.center(len)
  • 功能:
    将字符串居中,并使用空格填充至指定长度len;
  • 示例:

    center()函数

    str12 = “Hello Walt Smith”
    print(str12.center(20))
    print(“st12的原长度为%d” % (len(str12)))
    print(“str12处理后的长度为%d” % (len(str12.center(20))))

    输出:

    ☐☐Hello Walt Smith☐☐

    str12的原长度为16

    str12处理后的长度为20

lstrip()

  • 语法:
    str.lstrip()
  • 功能:
    去掉字符串左边的空白字符;
  • 示例:

    lstrip()函数

    str13 = “ Hello Walt Smith “
    print(str13.lstrip())

    输出:

    Hello Walt Smith☐☐☐

rstrip()

  • 语法:
    str.rstrip()
  • 功能:
    去掉字符串右边的空白字符;
  • 示例:

    rstrip()函数

    str13 = “ Hello Walt Smith “
    print(str13.rstrip())

    输出:

    ☐☐☐Hello Walt Smith

strip()

  • 语法:
    str.strip()
  • 功能:
    去掉字符串左右两边的空白字符;
  • 示例:

    strip()函数

    str13 = “ Hello Walt Smith “
    print(str13.strip())

    输出:

    Hello Walt Smith

partition()

  • 语法:
    str.partition(str1)
  • 功能:
    根据str中的第一个str1,将字符串str分割为str1之前,str1和str1之后三个部分;若str1不存在,则将str作为第一部分,后面两个元素为空;返回元组;
  • 示例:

    partition()函数

    str14 = “Are you believe in yourself?”

    “yourself”在字符串中

    print(str14.partition(“yourself”))

    “you”在字符串中有两个

    print(str14.partition(“you”))

    “walt”不在字符串中

    print(str14.partition(“walt”))

    输出:

    (‘Are you believe in ‘, ‘yourself’, ‘?’)

    (‘Are ‘, ‘you’, ‘ believe in yourself?’)

    (‘Are you believe in yourself?’, ‘’, ‘’)

join()

  • 语法:
    str.join(iterable)
  • 功能:
    将iterable中每两个相邻元素中间插入字符串str,返回形成的新的字符串;
  • 示例:

    join()函数

    str15 = “walt”
    print(str15.join(“ABC”))
    iterable = [‘YOU’, ‘THEY’, ‘WE’]
    print(str15.join(iterable))

    输出:

    AwaltBwaltC

    YOUwaltTHEYwaltWE

isspace()

  • 语法:
    str.isspace()
    无参数;
  • 功能:
    如果字符串str中只包含空格,则返回True;否则,返回False;
  • 示例:

    isspace()函数

    str16 = “ t “
    print(str16.isspace())

    输出:

    False

isdigit()

  • 语法:
    str.isdigit()
    无参数;
  • 功能:
    如果字符串str中只包含数字,则返回True;否则,返回False;
  • 示例:

    isdigit()函数

    str16 = “14250”
    print(str16.isdigit())

    输出:

    True

isalpha()

  • 语法:
    str.isalpha()
    无参数;
  • 功能:
    如果字符串str中只包含字母,则返回True;否则,返回False;
  • 示例:

    isalpha()函数

    str17 = “HardWorking”
    print(str17.isalpha())

    输出:

    True

===================未完待续==============







结语

能力有限,非常欢迎指错、补充。么么哒♥♥♥
===================欢迎关注个人微信公众号WaltSmithML或新浪微博WaltSmith,本人主要方向为机器学习和深度学习。非常热烈欢迎一起交流学习哈,除了学习,还可免费帮忙download论文或者书籍哈==============
♥♥♥♥♥♥♥♥♥♥♥♥微信公众号WaltSmithML二维码♥♥♥♥♥♥新浪微博WaltSmith二维码♥♥♥♥♥♥♥♥♥♥

发表评论

表情:
评论列表 (有 0 条评论,405人围观)

还没有评论,来说两句吧...

相关阅读