Python中的字符串方法
Python中的字符串方法
字符串类即str提供了许多有用的方法来操纵字符串。具体来说,我们将讨论如下的方法。
- 搜索字符串内的子字符串。
- 测试字符串。
- 格式字符串。
- 转换字符串。
回顾前面的章节,方法是属于某个对象的功能。然而,与函数不同,一个方法总是使用下面的符号在对象上调用。
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中的字符串方法的更多相关文章
- Python中查找字符串方法的速度比较
- python中修改字符串的几种方法
在Python中,字符串是不可变类型,即无法直接修改字符串的某一位字符.因此改变一个字符串的元素需要新建一个新的字符串.常见的修改方法有以下4种. 方法1:将字符串转换成列表后修改值,然后用join组 ...
- Python中常见字符串去除空格的方法总结
Python中常见字符串去除空格的方法总结 1:strip()方法,去除字符串开头或者结尾的空格>>> a = " a b c ">>> a.s ...
- Python中去除字符串中的单个或多个空格的方法总结
python中去除字符串中空格的方法比较多,单个看起来也都比较简单 但是使用起来容易发生混淆 为了加深记忆 将常用的去除字符串中空格的方法汇总如下 方法一:strip()方法 >>> ...
- Python中的字符串处理
Python转义字符 在需要在字符中使用特殊字符时,python用反斜杠(\)转义字符.如下表: 转义字符 描述 \(在行尾时) 续行符 \\ 反斜杠符号 \' 单引号 \" 双引号 \a ...
- python中根据字符串导入模块module
python中根据字符串导入模块module 需要导入importlib,使用其中的import_module方法 import importlib modname = 'datetime' date ...
- python中的replace()方法的使用
python中的replace()方法的使用 需求是这样的:需要将字符串的某些字符替换成其他字符 str.replace(old,new,max) 第一个参数是要进行更换的旧字符,第二个参数是新的子串 ...
- 【转】Python中的字符串与字符编码
[转]Python中的字符串与字符编码 本节内容: 前言 相关概念 Python中的默认编码 Python2与Python3中对字符串的支持 字符编码转换 一.前言 Python中的字符编码是个老生常 ...
- Python中格式化format()方法详解
Python中格式化format()方法详解 Python中格式化输出字符串使用format()函数, 字符串即类, 可以使用方法; Python是完全面向对象的语言, 任何东西都是对象; 字符串的参 ...
随机推荐
- 手机与PC的影音相互播放(DLNA/UPNP)
DLNA:全称是DIGITAL LIVING NETWORK ALLIANCE(数字生活网络联盟), 旨在解决个人PC,消费电器,移动设备在内的无线网络和有线网络的互联互通,使得数字媒体和内容服务的无 ...
- 黄聪:浓缩的才是精华:浅析GIF格式图片的存储和压缩(转)
http://www.cnblogs.com/qcloud1001/p/6647080.html 成文迪, 在Web前端摸爬滚打的码农一枚,对技术充满热情的菜鸟,致力为手Q的建设添砖加瓦. GIF格式 ...
- Django--bug--ImproperlyConfigured: The SECRET_KEY setting must not be empty.
Django配置Restframework后,建立用户模型,执行迁移的时候报如下错误: django.core.exceptions.ImproperlyConfigured: The SECRET_ ...
- RTB业务知识之2-Impression概念和关键属性
一.定义-impression This object describes an ad placement or impression being auctioned. A single bid re ...
- elasticsearch 口水篇(7) Eclipse中部署ES源码、运行
ES源码可以直接从svn下载 https://github.com/elasticsearch/elasticsearch 下载后,用Maven导入(import——>Existing Mave ...
- 统计apk或jar中方法数量
一.apk中方法数量 ./android-sdk-linux/build-tools/23.0.2/dexdump -f apk路径 | grep method_ids_size 二.jar中方法数 ...
- bzoj4814: [Cqoi2017]小Q的草稿
Description 小Q是个程序员.众所周知,程序员在写程序的时候经常需要草稿纸.小Q现在需要一张草稿纸用来画图,但是桌上 只有一张草稿纸,而且是一张被用过很多次的草稿纸.草稿纸可以看作一个二维平 ...
- mac brew 安装 nginx fpm mysql 教程
一. 安装brew 要求:OS X 10.6以上系统,并且安装有XCode命令行工具 对于10.11的系统需要设置下local的权限为当前用户 $ sudo chown -R $(whoami):ad ...
- SQL Server的分页优化及Row_Number()分页存在的问题
最近有项目反应,在服务器CPU使用较高的时候,我们的事件查询页面非常的慢,查询几条记录竟然要4分钟甚至更长,而且在翻第二页的时候也是要这么多的时间,这肯定是不能接受的,也是让现场用SQLServerP ...
- Notepad++ 列操作
在网上找到一篇关于socket编程的文章,想把其中的代码直接拷贝下来运行测试,但是人家网站做的不够人性化,每行的开头都有行号,直接拷贝就要一行行的删除,甚是麻烦,想到linux下的vi编辑器可以完成列 ...