Python中的字符串方法

字符串类即str提供了许多有用的方法来操纵字符串。具体来说,我们将讨论如下的方法。

  1. 搜索字符串内的子字符串。
  2. 测试字符串。
  3. 格式字符串。
  4. 转换字符串。

回顾前面的章节,方法是属于某个对象的功能。然而,与函数不同,一个方法总是使用下面的符号在对象上调用。

object.method_name(arg1, arg2, arg3, ...., argN)

好吧,我们开始吧。

测试字符串

str该类的以下方法测试字符串内的各种类型的字符。

方法

描述

str.isalnum()

返回True如果字符串中的所有字符的字母数字是(其中包含任一数目或字母或两者的字符串)。否则False。

str.isalpha()

True如果字符串中的所有字符均为字母,则返回。否则False。

str.isdigit()

True如果字符串中的所有字符都是数字,则返回。否则False。

str.islower()

返回True如果字符串中的所有字符为小写。否则False。

str.isupper()

返回True如果字符串中的所有字符都是大写的。否则False。

str.isspace()

返回True如果字符串中的所有字符都是空白字符。否则False。

这里有些例子:

isalnum()方法

>>>

>>> s = "A bite of python"

>>> s.isalnum()

False

>>>

>>> "123".isalnum()

True

>>> "abc".isalnum()

True

>>> "abc123".isalnum()

True

>>>

isalpha()方法

>>>

>>> "123".isalpha()

False

>>>

>>> "zyz".isalpha()

True

>>>

>>> "$$$$".isalpha()

False

>>>

>>> "abc233".isalpha()

False

>>>

isdigit()方法

>>>

>>>

>>> "name101".isdigit()

False

>>>

>>> "101".isdigit()

True

>>>

>>> "101 ".isdigit()

False

>>>

>>> "101.129".isdigit()

False

>>>

````

## islower() and isupper() method

```python

>>>

>>> s

'A bite of python'

>>>

>>> s.islower()

False

>>>

>>> "abc".islower()

True

>>>

>>> s.isupper()

False

>>>

>>>

>>> "ABC".isupper()

True

>>>

isspace()方法

>>>

>>> "\n\t".isspace()

True

>>>

>>> " \n\t".isspace()

True

>>>

>>> "@ \n\t".isspace()

False

>>> "123".isspace()

False

搜索和替换字符串

本str类有以下方法,它允许你搜索字符串里子。

方法

描述

endswith(sub)

True如果字符串以子串结尾,则返回sub。否则False。

startswith(sub)

True如果字符串以substring开头则返回sub。否则False。

find(sub)

返回sub找到子字符串的最低索引。如果sub未找到子字符串-1则返回。

rfind(sub)

返回sub找到子字符串的最高索引。如果sub未找到子字符串-1则返回。

count(sub)

它返回在字符串中sub找到的子串的出现次数。如果没有找到事件0返回。

replace(old, new)

它用old子字符串替换后返回一个新的字符串new。请注意,它不会更改其被调用的对象。

一些例子:

>>>

>>> s = "abc"

>>> s.endswith("bc")

True

>>>

>>> "python".startswith("py")

True

>>>

>>> "Learning Python".find("n")

4

>>>

>>> "Learning Python".rfind("n")

14

>>>

>>> "Learning Python".find("at")

-1

>>>

>>>

>>> "procrastination is the thief of time".count("ti")

3

>>>

>>>

>>>

>>> s1 = "Learning C"  # old string

>>> id(s1)

49447664   # id of s1

>>>

>>> s2 = s.replace("C", "Python")   # replace() creates a new string and assigns it to s2

>>> s2

'Learning Python'

>>>

>>> id(s1)

49447664   # notice that s1 object is not changed at all

>>>

>>>

转换字符串

以下方法通常用于返回字符串的修改版本。

方法

描述

lower()

将所有字符转换为小写后返回字符串的新副本。

upper()

将所有字符转换为大写字符后,返回字符串的新副本。

capitalize()

在大写仅字符串中的第一个字母后返回字符串的新副本。

title()

在每个单词的首字母大写后返回字符串的新副本。

swapcase()

将小写字母转换为大写字母,反之亦然后返回新的副本。

strip()

删除所有前导和尾随空白字符后,返回字符串的新副本。

strip(chars)

chars从字符串的开头和结尾删除后返回字符串的新副本。

一定要记住这些方法返回一个新的字符串,不要修改以任何方式被调用的对象。

这里有些例子:

lower()方法

>>>

>>> "abcDEF".lower()

'abcdef'

>>>

>>> "abc".lower()

'abc'

>>>

upper()方法

>>>

>>> "ABCdef".upper()

'ABCDEF'

>>>

>>> "ABC".upper()

'ABC'

>>>

大写()和标题()方法

>>>

>>> "a long string".capitalize()

'A long string'

>>>

>>>

>>> "a long string".title()

'A Long String'

>>>

>>>

swapcase()方法

>>>

>>> "ABCdef".swapcase()

'abcDEF'

>>>

>>> "def".swapcase()

'DEF'

>>>

strip()方法

>>>

>>> s1 = "\n\tName\tAge"

>>> print(s1)

Name    Age

>>>

>>>

>>> s2 = s1.strip()

>>> s2

'Name\tAge'

>>> print(s2)

Name    Age

>>>

>>>

>>> s  = "--Name\tAge--"

>>>

>>> s.strip("-")     # return a new copy of string after removing - characters from beginning and end of the string

'Name\tAge'

>>>

>>>

格式化方法

下表列出了str该类的一些格式化方法。

方法

描述

center(width)

在将其居中放置在长度宽度字段中之后,返回字符串的新副本。

ljust(width)

返回长度宽度字段中左对齐字符串的新副本。

rjust(width)

在长度宽度字段中返回右对齐字符串的新副本。

center()方法

>>>

>>> "NAME".center(20)

'        NAME        '

>>>

>>>

ljust()方法

>>>

>>> "NAME".ljust(10)

'NAME      '

>>> "NAME".ljust(4)

'NAME'

>>> "NAME".ljust(5)

'NAME '

>>>

rjust()方法

>>>

>>> "NAME".rjust(10)

'      NAME'

>>>

>>> "NAME".rjust(4)

'NAME'

>>>

>>> "NAME".rjust(5)

' NAME'

>>>

>>>

Python中的字符串方法的更多相关文章

  1. Python中查找字符串方法的速度比较

  2. python中修改字符串的几种方法

    在Python中,字符串是不可变类型,即无法直接修改字符串的某一位字符.因此改变一个字符串的元素需要新建一个新的字符串.常见的修改方法有以下4种. 方法1:将字符串转换成列表后修改值,然后用join组 ...

  3. Python中常见字符串去除空格的方法总结

    Python中常见字符串去除空格的方法总结 1:strip()方法,去除字符串开头或者结尾的空格>>> a = " a b c ">>> a.s ...

  4. Python中去除字符串中的单个或多个空格的方法总结

    python中去除字符串中空格的方法比较多,单个看起来也都比较简单 但是使用起来容易发生混淆 为了加深记忆 将常用的去除字符串中空格的方法汇总如下 方法一:strip()方法 >>> ...

  5. Python中的字符串处理

    Python转义字符 在需要在字符中使用特殊字符时,python用反斜杠(\)转义字符.如下表: 转义字符 描述 \(在行尾时) 续行符 \\ 反斜杠符号 \' 单引号 \" 双引号 \a ...

  6. python中根据字符串导入模块module

    python中根据字符串导入模块module 需要导入importlib,使用其中的import_module方法 import importlib modname = 'datetime' date ...

  7. python中的replace()方法的使用

    python中的replace()方法的使用 需求是这样的:需要将字符串的某些字符替换成其他字符 str.replace(old,new,max) 第一个参数是要进行更换的旧字符,第二个参数是新的子串 ...

  8. 【转】Python中的字符串与字符编码

    [转]Python中的字符串与字符编码 本节内容: 前言 相关概念 Python中的默认编码 Python2与Python3中对字符串的支持 字符编码转换 一.前言 Python中的字符编码是个老生常 ...

  9. Python中格式化format()方法详解

    Python中格式化format()方法详解 Python中格式化输出字符串使用format()函数, 字符串即类, 可以使用方法; Python是完全面向对象的语言, 任何东西都是对象; 字符串的参 ...

随机推荐

  1. 细看Thread的 start() 和 run()方法

    1.start(): 我们先来看看API中对于该方法的介绍: 使该线程开始执行:Java 虚拟机调用该线程的 run 方法. 结果是两个线程并发地运行:当前线程(从调用返回给 start 方法)和另一 ...

  2. sql server 2008 R2 备份还原到sql 2012

    从sql server 2008 r2备份的在sql server 2012中还原时一直读不到备份文件,然后把2008r2备份文件放到sql 2012的安装路径对应的Backup文件夹后可以读到了,不 ...

  3. PAT 乙级 1069 微博转发抽奖(20) C++版

    1069. 微博转发抽奖(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 小明PAT考了满分,高兴之余决定 ...

  4. [转][xml]SQL转义

    SQL语句包含">"和"<"时,在PL/SQL中可以正常运行,但是放在XML中,编译报错,这是因为在XML文档中的所有文本都会被解析器解析,文本内容 ...

  5. 廖雪峰Java5集合-3Map-1使用Map

    廖雪峰的视频不全,以下是疯狂Java关于Map的讲解 1.Map定义 Map是一种键值映射表,可以通过key快速查找value,同python的dict.key不允许重复,value可以重复. Map ...

  6. 解决Kubernetes 1.7.3 kube-apiserver频繁异常重启的问题(转)

    原文的帖子无法访问,我只能粘贴内容 近期将之前的一个用Kubernetes 1.3.7的环境更换为最新发布的用kubeadm安装的Kubernetes 1.6.4 Dashboard无法访问的问题&g ...

  7. 关于postman中表单提交与数据包提交的问题,file_get_contents("php://input")可以获取数据,$_POST不能获取数据

    Coentent-Type仅在取值为application/x-www-data-urlencoded和multipart/form-data两种情况下,PHP才会将http请求数据包中相应的数据填入 ...

  8. 加入域的计算机重定向到指定的OU

    在我曾经呆过一个企业里,我们使用的是AD环境,计算机加入域时,我们需要使用一个单独的加域工具,里面有需要将计算机加入到指定OU的选项.所以每次加域我们都需要找个这个工具,实现加域过程.最后我发现其实最 ...

  9. HDFS分布式文件系统

    hadoop致力于构建在廉价的商用服务器上 多副本存储策略(副本数存多少合适) 常见是数据访问方式:流式数据访问(更适合大数据的访问)    随机数据访问(更适合传统的关系型数据库的访问)

  10. ORACLE和MYSQL的简单区别

    1,Oracle没有offet,limit,在mysql中我们用它们来控制显示的行数,最多的是分页了.oracle要分页的话,要换成rownum. 2,oracle建表时,没有auto_increme ...