引言

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

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

find()

  • 功能:

    检测字符串是否包含特定字符,如果包含,则返回开始的索引;否则,返回-1。
  • 示例:
  1. ## find()函数
  2. str = 'hello world'
  3. # 'wo'在字符串中
  4. print( str.find('wo') )
  5. # 'wc'不在字符串中
  6. print( str.find('wc') )
  7. ## 输出:
  8. ## 6
  9. ## -1

index()

  • 功能:

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

  • 示例:

  1. ## index()函数
  2. str = 'hello world'
  3. # 'wo'在字符串中
  4. print( str.index('wo') )
  5. # 'wc'不在字符串中,程序报错ValueError,终止运行
  6. print( str.index('wc') )
  7. ## 输出:
  8. ## 6
  9. ## ValueError: substring not found

count()

  • 功能:

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

  • 示例:

  1. ## count()函数
  2. str = 'hello world'
  3. # 统计str中全部字母l的个数
  4. print( str.count('l') )
  5. # 统计str中从第5+1个字母到最后一个字母中,字母l的个数
  6. print( str.count('l', 5, len(str)) )
  7. ## 输出:
  8. ## 3
  9. ## 1

replace()

  • 语法:

    str1.replace(str2, count)
  • 功能:

    将str1中的str1替换成str2,如果指定count,则不超过count次;
  • 示例:
  1. ## replace()函数
  2. print('=*'*10, 'replace()函数', '=*'*10)
  3. str = 'hello world hello world'
  4. str1 = 'world'
  5. str2 = 'waltsmith'
  6. # 将所有的str1替换为str2
  7. print( str.replace(str1, str2) )
  8. # 只将前1个str1替换为str2
  9. print( str.replace(str1, str2, 1) )
  10. ## 输出:
  11. ## hello waltsmith hello waltsmith
  12. ## hello waltsmith hello world

split()

  • 语法:

    str.split('分界符', maxSplit)

    maxSplit默认值为-1,表示根据定界符分割所有能分割的;

    返回值为列表;
  • 功能:

    如果 maxsplit有指定值,则仅分割 maxsplit 个子字符串;
  • 示例:
  1. ## split()函数
  2. str3 = 'I am a good boy!'
  3. # 以空格分割字符串,分界符默认为空格
  4. print(str3.split(' ', 3))
  5. # 以字母o作为分界符,指定最大分割为2,将返回最大分割+1个元素的列表
  6. print(str3.split('o', 2))
  7. ## 输出:
  8. ## ['I', 'am', 'a', 'good boy!']
  9. ## ['I am a g', '', 'd boy!']

capitalize()

  • 语法:

    str.capitalize()

    无参数;
  • 功能:

    将字符串的首字母大写,其余字母全部小写
  • 示例:
  1. ## capitalize()函数
  2. str4 = 'I aM waLt smith'
  3. # 字符串的首字母大写,其余字母全部小写
  4. print(str4.capitalize())
  5. ## 输出:
  6. ## I am walt smith

title()

  • 语法:

    str.title()

    无参数;
  • 功能:

    将字符串中的所有单词的首字母大写,其余字母全部小写;

    值得注意的是,这里单词的区分是以任何标点符号区分的,即,标点符号的前后都是一个独立的单词,字符串最后一个标点除外哦。详细看示例哈
  • 示例:
  1. ## title()函数
  2. # 正常字符串的转换
  3. str5 = "I am walt smith!"
  4. print(str5.title())
  5. ## 输出:
  6. ## I Am Walt Smith!
  7. # 字符中包含标点符号
  8. str6 = "I'm walt-sMith!"
  9. print(str6.title())
  10. ## 输出:
  11. ## I'M Walt-Smith!

注意:

也许你也看到了,"I'm walt-sMith!"转换后,“I'M Walt-Smith!”这句话并不是我们想要的结果。这个呢,是时候秀一下正则表达式了。

以下示例通过正则表达式实现:"I'm walt-sMith!"转换为“I'm Walt-Smith!”

  • title()修正示例:
  1. ## 修正title()
  2. import re
  3. def titlecase(s):
  4. return re.sub(r"[A-Za-z]+('[A-Za-z]+)?",
  5. lambda mo: mo.group(0)[0].upper() +
  6. mo.group(0)[1:].lower(), s)
  7. str7 = "I'm walt's friend!"
  8. print(titlecase(str7))
  9. ## 输出:
  10. ## I'm Walt's Friend!

startswith()

  • 语法:

    str.startswith(str1)
  • 功能:

    检查字符串str是否 以字符串str1开头,若是,则返回True;否则,返回False;
  • 示例:

    1. ## startswith()函数
    2. str8 = "Hello Walt Smith"
    3. print(str8.startswith("Hello"))
    4. ## 输出:
    5. ## True

lower()

  • 语法:

    str.lower()

    无参数;
  • 功能:

    将字符串的所有字母转换为小写;
  • 示例:
  1. ## lower()函数
  2. print('=*'*10, 'lower()函数', '=*'*10)
  3. str10 = "Hello Walt Smith"
  4. print(str10.lower())
  5. ## 输出:
  6. ## hello walt smith

upper()

  • 语法:

    str.upper()

    无参数;
  • 功能:

    将字符串的所有字母转换为大写;
  • 示例:
  1. ## upper()函数
  2. str10 = "Hello Walt Smith"
  3. print(str10.upper())
  4. ## 输出:
  5. ## HELLO WALT SMITH

endswith()

  • 语法:

    str.endswith(str1)
  • 功能:

    检查字符串str是否 以字符串str1结尾,若是,则返回True;否则,返回False;
  • 示例:
  1. ## endswith()函数
  2. str9 = "Hello Walt Smith"
  3. print(str9.endswith("Smith"))
  4. ## 输出:
  5. ## True

ljust()

  • 语法:

    str.ljust(len)
  • 功能:

    将字符串左对齐,并使用空格填充至指定长度len;
  • 示例:
  1. ## ljust()函数
  2. str10 = "Hello Walt Smith"
  3. print("str10的原长度为%d" % (len(str10)))
  4. print("str10处理后的长度为%d" % (len(str10.ljust(20))))
  5. ## 输出:
  6. ## str10的原长度为16
  7. ## str10处理后的长度为20

rjust()

  • 语法:

    str.rjust(len)
  • 功能:

    将字符串右对齐,并使用空格填充至指定长度len;
  • 示例:
  1. ## rjust()函数
  2. str11 = "Hello Walt Smith"
  3. print(str11.rjust(20))
  4. print("str11的原长度为%d" % (len(str11)))
  5. print("str11处理后的长度为%d" % (len(str11.ljust(20))))
  6. ## 输出:
  7. ## ☐☐☐☐Hello Walt Smith
  8. ## str11的原长度为16
  9. ## str11处理后的长度为20

center()

  • 语法:

    str.center(len)
  • 功能:

    将字符串居中,并使用空格填充至指定长度len;
  • 示例:
  1. ## center()函数
  2. str12 = "Hello Walt Smith"
  3. print(str12.center(20))
  4. print("st12的原长度为%d" % (len(str12)))
  5. print("str12处理后的长度为%d" % (len(str12.center(20))))
  6. ## 输出:
  7. ## ☐☐Hello Walt Smith☐☐
  8. ## str12的原长度为16
  9. ## str12处理后的长度为20

lstrip()

  • 语法:

    str.lstrip()
  • 功能:

    去掉字符串左边的空白字符;
  • 示例:
  1. ## lstrip()函数
  2. str13 = " Hello Walt Smith "
  3. print(str13.lstrip())
  4. ## 输出:
  5. ## Hello Walt Smith☐☐☐

rstrip()

  • 语法:

    str.rstrip()
  • 功能:

    去掉字符串右边的空白字符;
  • 示例:

    1. ## rstrip()函数
    2. str13 = " Hello Walt Smith "
    3. print(str13.rstrip())
    4. ## 输出:
    5. ## ☐☐☐Hello Walt Smith

strip()

  • 语法:

    str.strip()
  • 功能:

    去掉字符串左右两边的空白字符;
  • 示例:
  1. ## strip()函数
  2. str13 = " Hello Walt Smith "
  3. print(str13.strip())
  4. ## 输出:
  5. ## Hello Walt Smith

partition()

  • 语法:

    str.partition(str1)
  • 功能:

    根据str中的第一个str1,将字符串str分割为str1之前,str1和str1之后三个部分;若str1不存在,则将str作为第一部分,后面两个元素为空;返回元组;
  • 示例:
  1. ## partition()函数
  2. str14 = "Are you believe in yourself?"
  3. # "yourself"在字符串中
  4. print(str14.partition("yourself"))
  5. # "you"在字符串中有两个
  6. print(str14.partition("you"))
  7. # "walt"不在字符串中
  8. print(str14.partition("walt"))
  9. ## 输出:
  10. ## ('Are you believe in ', 'yourself', '?')
  11. ## ('Are ', 'you', ' believe in yourself?')
  12. ## ('Are you believe in yourself?', '', '')

join()

  • 语法:

    str.join(iterable)
  • 功能:

    将iterable中每两个相邻元素中间插入字符串str,返回形成的新的字符串;
  • 示例:
  1. ## join()函数
  2. str15 = "walt"
  3. print(str15.join("ABC"))
  4. iterable = ['YOU', 'THEY', 'WE']
  5. print(str15.join(iterable))
  6. ## 输出:
  7. ## AwaltBwaltC
  8. ## YOUwaltTHEYwaltWE

isspace()

  • 语法:

    str.isspace()

    无参数;
  • 功能:

    如果字符串str中只包含空格,则返回True;否则,返回False;
  • 示例:
  1. ## isspace()函数
  2. str16 = " t "
  3. print(str16.isspace())
  4. ## 输出:
  5. ## False

isdigit()

  • 语法:

    str.isdigit()

    无参数;
  • 功能:

    如果字符串str中只包含数字,则返回True;否则,返回False;
  • 示例:
  1. ## isdigit()函数
  2. str16 = "14250"
  3. print(str16.isdigit())
  4. ## 输出:
  5. ## True

isalpha()

  • 语法:

    str.isalpha()

    无参数;
  • 功能:

    如果字符串str中只包含字母,则返回True;否则,返回False;
  • 示例:
  1. ## isalpha()函数
  2. str17 = "HardWorking"
  3. print(str17.isalpha())
  4. ## 输出:
  5. ## True

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

结语

能力有限,非常欢迎指错、补充。么么哒♥♥♥

=========欢迎关注个人微信公众号WaltSmithML或新浪微博WaltSmith,本人主要方向为机器学习和深度学习。非常热烈欢迎一起交流学习哈,除了学习,还可免费帮忙download论文或者书籍哈========

♥♥♥♥♥♥♥♥♥

基本MarkDown语法的更多相关文章

  1. 基于 Cmd MarkDown 的 markdown 语法学习

    首先我要打一个属于干货的广告:CmdMarkDown 是非常好用的markdown编辑器软件,支持全平台,由作业部落出品,分为客户端与WEB端两种使用场景. 本篇博客学习的markdown语法都是基于 ...

  2. 简体中国版文档的Markdown语法

    Markdown文件 注意︰这是简体中国版文档的Markdown语法.如果你正在寻找英语版文档.请参阅Markdown︰ Markdown: Syntax. Markdown: Syntax 概述 哲 ...

  3. markdown语法说明

    1.先写一个标题 # 一级标题.相当于 <h1> ## 二级标题.相当于 <h2> ### 三级标题.相当于 <h3> #### 四级标题.相当于 <h4&g ...

  4. Markdown语法

    概述 Markdown的理念是能让文档更容易读.写和随 改. 它用简洁的语法代替排版,格式语法只涵盖纯文 本可以涵盖的范围. 不在 Markdown 涵盖范围之内的标签,都可以直接在文档里面用 HTM ...

  5. Markdown语法 中文版

    文章翻译自Markdown创始人JOHN GRUBER的 个人博客, 英文原文请参见 Markdown Syntax; 本文地址: http://www.cnblogs.com/ayning/p/43 ...

  6. Markdown 语法简要介绍

    =================MarkDown================= Markdown 是一种方便记忆.书写的纯文本标记语言,用户可以使用这些标记符号以最小的输入代价生成极富表现力的文 ...

  7. Markdown 语法说明(持续更新-20160822)

    Markdown 是一种轻量级的「标记语言」.Markdown 语法的目标是:成为一种适用于网络的书写语言.Markdown 的语法简单,熟悉Markdown语法规则,事倍功半. 语法 插入图片如何定 ...

  8. Markdown 语法总结

    Markdown 语法总结 Markdown是一个神奇的语言,他比html简单,它巧妙地将内容和格式结合起来.很多平台支持Markdown语法编辑,比如github.博客园等. 下面总结一Markdo ...

  9. Markdown 语法整理

    Markdown 语法整理 白宁超 2015年7月24日14:57:49 一.字体设置 A First Level Header == A Second Level Header -- # 标题 ## ...

  10. Markdown语法说明(详解版)

    ####date: 2016-05-26 20:38:58 tags: Markdown tags && Syntax ##Markdown语法说明(详解版)杨帆发表于 2011-11 ...

随机推荐

  1. js解析器的执行原理

    首先看一段代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> < ...

  2. js如何获取地址栏的参数

    //获取参数的方法(利用正则表达式) function GetUrlParam(name){ var reg = new RegExp("(^|&)"+ name +&qu ...

  3. 平衡二叉树(AVL树)

    参考资料 http://www.cnblogs.com/Cmpl/archive/2011/06/05/2073217.html http://www.cnblogs.com/yc_sunniwell ...

  4. Azkaban 2.5.0 搭建和一些小问题

    安装环境: 系统环境: ubuntu-12.04.2-server-amd64 安装目录: /usr/local/ae/ankaban JDK 安装目录: export JAVA_HOME=/usr/ ...

  5. vue初级学习--idea的环境搭建

    一.导语 最近接触了下idea,虽然我对于各种"代码界的神器"没有多大感冒,一个eclipse或者myeclipse,一个Notepad++ .一个就可以把我征服,但还是蛮喜欢id ...

  6. liunx 系统调用 getopt() 函数

    命令行参数解析函数 -- getopt() getopt()函数声明如下: #include <unistd.h>int getopt(int argc, char * const arg ...

  7. 前端html 中jQuery实现对文本的搜索并把搜索相关内容显示出来

    做项目的时候有这么一个需求,客户信息显示出来后我要搜索查找相关的客户,并把相关的客户信息全部显示出来,因为一个客户全部信息我写在一个div里面  所以显示的时候就是显示整个div.先看看实现的效果: ...

  8. Transact-SQL知识点梳理

    Transact-SQL基础语言 运行环境:SQL Server 语法约定: 语法约定 用途说明 大写字母 Transact-SQL关键字 斜体 用户提供的Transact-SQL语法参数 粗体 数据 ...

  9. C#版本websocket及时通信协议实现

    1:Websocket有java.nodejs.python.PHP.等版本 ,我现在使用的是C3版本,服务器端是Fleck.客户端和服务器端来使用websocket的,下面开始讲解如何使用: 2:在 ...

  10. 自己动手修改Robotium代码(下)

    public void takeScreenshot(){   View decorView = viewFetcher.getRecentDecorView(viewFetcher.getWindo ...