python字符串常用的方法解析

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
简介: 这是本人在学习python过程中总结的一些关于字符串的常用的方法.文中引用了python3.5版本内置的帮助文档,大致进行翻译,并添加了几个小实验.isalnumS.isalnum() -> bool #字符串里所有的字符都是字母或者数字时返回True,否则返回FalseReturn Tr...

这是本人在学习python过程中总结的一些关于字符串的常用的方法.
文中引用了python3.5版本内置的帮助文档,大致进行翻译,并添加了几个小实验.

isalnum

S.isalnum() -> bool #字符串里所有的字符都是字母或者数字时返回True,否则返回False

Return True if all characters in S are alphanumeric and there is
at least one character in S, False otherwise.

>>> str1="hello world"
>>> str2="hello555 world"
>>> str3="66666"
>>> str4="hello"
>>> str1.isalnum()
False
>>> str2.isalnum()
False
>>> str3.isalnum()
True
>>> str4.isalnum()
True

isalpha

S.isalpha() -> bool #字符串里所有的字符都是字母时返回True,否则返回False

Return True if all characters in S are alphabetic and there is
at least one character in S, False otherwise.

>>> str1="hello world"
>>> str2="hello555 world"
>>> str3="66666"
>>> str4="hello"
>>> str1.isalpha()
False
>>> str2.isalpha()
False
>>> str3.isalpha()
False
>>> str4.isalpha()
True

isdigit

S.isdigit() -> bool #字符串里所有字符都是数字则返回True,否则返回False

Return True if all characters in S are digits and there is at
least one character in S, False otherwise.

>>> str1="hello world"
>>> str2="hello555 world"
>>> str3="66666"
>>> str1.isdigit()
False
>>> str2.isdigit()
False
>>> str3.isdigit()
True

islower

S.islower() -> bool #字符串所有的字符都是小写字母时返回True,否则返回False

Return True if all cased characters in S are lowercase and there is
at least one cased character in S, False otherwise.

>>> str1="hello world"
>>> str2="66666"
>>> str3="HELLO WORLD"
>>> str1.islower()
True
>>> str2.islower()
False
>>> str3.islower()
False

istitle

S.istitle() -> bool #每个单词的首字母大写时返回True,否则返回False

Return True if S is a titlecased string and there is at least one
character in S, i.e. upper- and titlecase characters may only
follow uncased characters and lowercase characters only cased ones.
Return False otherwise.

>>> str1="hello world"
>>> str2="Hello World"
>>> str3="HELLO WORLD"
>>> str1.istitle()
False
>>> str2.istitle()
True
>>> str3.istitle()
False

isupper

S.isupper() -> bool #字符串里所有的字符都是大写字母时返回True,否则返回False

Return True if all cased characters in S are uppercase and there is
at least one cased character in S, False otherwise.

>>> str1="hello world"
>>> str2="66666"
>>> str3="HELLO WORLD"
>>> str1.isupper()
False
>>> str2.isupper()
False
>>> str3.isupper()
True

lower

S.lower() -> str #把字符串里所有的字符都转换为小写字母

Return a copy of the string S converted to lowercase.

>>> str3="HELLO WORLD"
>>> str3.lower()
'hello world'

upper

S.upper() -> str #把字符串里所有的字符都转换为大写字母

Return a copy of S converted to uppercase.

>>> str1="hello world"
>>> str1.upper()
'HELLO WORLD'

strip

S.strip([chars]) -> str #去除字符串里的空格

Return a copy of the string S with leading and trailing whitespace removed.
If chars is given and not None, remove characters in chars instead.

>>> str1="     hello world      "
>>> str2="hello world       "
>>> str1.strip()
'hello world'
>>> str2.strip()
'hello world'

isspace

S.isspace() -> bool #字符串里所有的字符都为空格时返回True,否则返回False

Return True if all characters in S are whitespace
and there is at least one character in S, False otherwise.

>>> str1="             "
>>> str2="hello world"
>>> str1.isspace()
True
>>> str2.isspace()
False

replace

S.replace(old, new[, count]) -> str #把字符串里指定的字符替换成新的字符

Return a copy of S with all occurrences of substring
old replaced by new. If the optional argument count is
given, only the first count occurrences are replaced.

>>> str1="hello world"
>>> str1.replace("l","L")
'heLLo worLd'
>>> str2="abababababababab"
>>> str2.replace("a","c")
'cbcbcbcbcbcbcbcb'

index

S.index(sub[, start[, end]]) -> int #返回字符串里的子字符串的索引

Like S.find() but raise ValueError when the substring is not found.

>>> str1="abcdefg"
>>> str1.index("a")
0
>>> str1.index("f")
5

find

S.find(sub[, start[, end]]) -> int #在字符串里查找指定的子串,未找到时返回-1,找到则返回子串在字符串中的索引值

Return the lowest index in S where substring sub is found,
such that sub is contained within S[start:end]. Optional
arguments start and end are interpreted as in slice notation.
Return -1 on failure.

>>> str1="abcdefg"
>>> str2="ababab"
>>> str1.find("bc")
1
>>> str2.find("b")
1
>>> str1.find("f")
5

split

S.split(sep=None, maxsplit=-1) -> list of strings #根据指定的符号分隔字符串

Return a list of the words in S, using sep as the
delimiter string. If maxsplit is given, at most maxsplit
splits are done. If sep is not specified or is None, any
whitespace string is a separator and empty strings are
removed from the result.

>>> str1="/etc/sysconfig/selinux"
>>> str1.split("/")
['', 'etc', 'sysconfig', 'selinux']
>>> str2="abc|mnt|xyz"
>>> str2.split("|")
['abc', 'mnt', 'xyz']

startswith

S.startswith(prefix[, start[, end]]) -> bool #字符串以指定的字符开头时返回True,否则返回False

Return True if S starts with the specified prefix, False otherwise.
With optional start, test S beginning at that position.
With optional end, stop comparing S at that position.
prefix can also be a tuple of strings to try.

>>> str1="hello world"
>>> str2="abcdefg"
>>> str1.startswith("hello")
True
>>> str2.startswith("abc")
True

endswith

S.endswith(suffix[, start[, end]]) -> bool #字符串以指定的字符结尾时返回True,否则返回False

Return True if S ends with the specified suffix, False otherwise.
With optional start, test S beginning at that position.
With optional end, stop comparing S at that position.
suffix can also be a tuple of strings to try.

>>> str1="hello world"
>>> str2="abcdefg"
>>> str1.startswith("hello")
True
>>> str2.startswith("abc")
True
>>> str1.endswith("ld")
True
>>> str2.endswith("fg")
True

lstrip

S.lstrip([chars]) -> str #仅去除字符串左边的空格

Return a copy of the string S with leading whitespace removed.
If chars is given and not None, remove characters in chars instead.

>>> str1="           hello world         "
>>> str2="            hello world"
>>> str3="hello world            "
>>> str1.lstrip()
'hello world         '
>>> str2.lstrip()
'hello world'
>>> str3.lstrip()
'hello world            '

rstrip

S.rstrip([chars]) -> str #仅去除字符串右边的空格

Return a copy of the string S with trailing whitespace removed.
If chars is given and not None, remove characters in chars instead.

>>> str1="           hello world         "
>>> str2="            hello world"
>>> str3="hello world            "
>>> str1.rstrip()
'           hello world'
>>> str2.rstrip()
'            hello world'
>>> str3.rstrip()
'hello world'

rfind

S.rfind(sub[, start[, end]]) -> int #返回子串在字符串中的索引值

Return the highest index in S where substring sub is found,
such that sub is contained within S[start:end]. Optional
arguments start and end are interpreted as in slice notation.

>>> str1="hello world"
>>> str2="abcdefg"
>>> str1.rfind("world")
6
>>> str1.rfind("r")
8
>>> str2.rfind("e")
4
>>> str2.rfind("g")
6

format

S.format(*args, **kwargs) -> str #格式化输出指定的字符串

Return a formatted version of S, using substitutions from args and kwargs.
The substitutions are identified by braces ('{' and '}').

>>> print("{name}======>{age}".format(name="tom",age=22))
tom=========>22
>>> print("{name}======>{age}".format(age=22,name="tom"))
tom=========>22 

swapcase

S.swapcase() -> str #把字符串中的小写字母变成大写,大写字母变成小写

Return a copy of S with uppercase characters converted to lowercase
and vice versa.

>>> str1="HELLO world"
>>> str1.swapcase()
'hello WORLD'
>>> str2="hello WORLD"
>>> str2.swapcase()
'HELLO world'

title

S.title() -> str #把字符串中的每个单词变成大写字母开头

Return a titlecased version of S, i.e. words start with title case
characters, all remaining cased characters have lower case.

>>> str1="hello world"
>>> str1.title()
'Hello World'
>>> str2="this is a test string"
>>> str2.title()
'This Is A Test String'

join

S.join(iterable) -> str #把字符串混合插入到一个迭代器中

Return a string which is the concatenation of the strings in the
iterable. The separator between elements is S.

>>> str1="abcd"
>>> str2="xyz"
>>> str1.join(str2)
'xabcdyabcdz'

capitalize

S.capitalize() -> str #把字符串中的首字母变成大写

Return a capitalized version of S, i.e. make the first character
have upper case and the rest lower case.

>>> str1="hello world"
>>> str1.capitalize()
'Hello world'
>>> str1="linux"
>>> str1.capitalize()
'Linux'

center

S.center(width[, fillchar]) -> str #扩充字符串到指定长度,不够则用第二个参数的字符填充,默认为空格

Return S centered in a string of length width. Padding is
done using the specified fill character (default is a space)

>>> str1="hello world"
>>> str1.center(30,"#")
'############linux#############'
>>> str2="linux"
>>> str2.center(16,"*")
'*****linux******'

count

S.count(sub[, start[, end]]) -> int #判断子串在字符串中出现的次数

Return the number of non-overlapping occurrences of substring sub in
string S[start:end]. Optional arguments start and end are
interpreted as in slice notation.

>>> str1="hello world"
>>> str1.count("l")
3
>>> str2="aaaaaaaaaaaa"
>>> str2.count("a")
12

ljust

S.ljust(width[, fillchar]) -> str #扩充字符串到指定长度,不足则由第二个参数从右边填充,默认为空格

Return S left-justified in a Unicode string of length width. Padding is
done using the specified fill character (default is a space).

>>> str1="hello world"
>>> str1.ljust(20,"@")
'hello world@@@@@@@@@'
>>> str2="linux"
>>> str2.ljust(18,"&")
'linux&&&&&&&&&&&&&'

rjust

S.rjust(width[, fillchar]) -> str #扩充字符串到指定长度,不足由第二个参数从左边填充,默认为空格

Return S right-justified in a string of length width. Padding is
done using the specified fill character (default is a space).

>>> str1="hello world"
>>> str2="linux"
>>> str1.rjust(30,"#")
'###################hello world'
>>> str2.rjust(14,"$")
'$$$$$$$$$linux'

rsplit

S.rsplit(sep=None, maxsplit=-1) -> list of strings #从文件尾部开始按指定的分隔符切分字符串

Return a list of the words in S, using sep as the
delimiter string, starting at the end of the string and
working to the front. If maxsplit is given, at most maxsplit
splits are done. If sep is not specified, any whitespace string
is a separator.

>>> str1="hello/world/people"
>>> str1.rsplit("/")
['hello', 'world', 'people']
>>> str2="/etc/sysconfig/selinux"
>>> str2.rsplit("/")
['', 'etc', 'sysconfig', 'selinux'] 

expandtabs

S.expandtabs(tabsize=8) -> str #按照所给的参数把一个制表符转换成指定的空格,默认为转换为8个空格

Return a copy of S where all tab characters are expanded using spaces.
If tabsize is not given, a tab size of 8 characters is assumed.

>>> str1="hello\tworld"
>>> print(str1)
hello   world
>>> str1.expandtabs()
'hello   world'
>>> str1.expandtabs(8)
'hello   world'
>>> str1.expandtabs(2)
'hello world'
>>> str1.expandtabs(12)
'hello       world'

rindex

S.rindex(sub[, start[, end]]) -> int #返回子串在字符串中的索引值,未找到则抛出异常

Like S.rfind() but raise ValueError when the substring is not found.

>>> str1="abcdefghijklmn"
>>> str1.rindex("abc")
0
>>> str1.rindex("efg")
4
>>> str1.rindex("g")
6
>>> str1.rindex("m")
12  

isprintable

S.isprintable() -> bool #字符里所有的字符都为可打印字符时返回True,否则返回False

Return True if all characters in S are considered
printable in repr() or S is empty, False otherwise.

>>> str1="              "
>>> str2="hello world"
>>> str1.isprintable()
True
>>> str2.isprintable()
True
>>> str3="\t"
>>> print(str3)
>>> str3.isprintable()
False   

splitlines

S.splitlines([keepends]) -> list of strings #按照换行符分隔字符串,返回分隔后的列表

Return a list of the lines in S, breaking at line boundaries.
Line breaks are not included in the resulting list unless keepends
is given and true.

>>> str1="hello \e world"
>>> print(str1)
hello \e world
>>> str1.splitlines()
['hello \\e world']
>>> type(str1.splitlines())
<class 'list'>
>>> str2="hello world"
>>> str2.splitlines()
['hello world']

format_map

S.format_map(mapping) -> str #格式化输出字符串

Return a formatted version of S, using substitutions from mapping.
The substitutions are identified by braces ('{' and '}').

>>> str1="hello world {lang}"
>>> lang="python"
>>> print(str1.format_map(vars()))
hello world python
>>> str2="{os} {database} {webserver} python"
>>> os="linux"
>>> database="mysql"
>>> webserver="apache"
>>> print(str2.format_map(vars()))
linux mysql apache python

isnumeric

S.isnumeric() -> bool #字符串里所有的字符都是数字时返回True,否则返回False

Return True if there are only numeric characters in S,
False otherwise.

>>> str1="123456"
>>> str2="123.456"
>>> str3="hello world"
>>> str1.isnumeric()
True
>>> str2.isnumeric()
False
>>> str3.isnumeric()
False

partition

S.partition(sep) -> (head, sep, tail) #按照给定的字符分隔字符串,返回一个元组,如果给定的字符串有多个,则以第一个索引为准

Search for the separator sep in S, and return the part before it,
the separator itself, and the part after it. If the separator is not
found, return S and two empty strings.

>>> str1="hello world"
>>> str1.partition(" ")
('hello', ' ', 'world')
>>> str1.partition("l")
('he', 'l', 'lo world')
>>> str1.partition("w")
('hello ', 'w', 'orld')

rpartition

S.rpartition(sep) -> (head, sep, tail) #按照给定的字符分隔字符串,返回一个元组

Search for the separator sep in S, starting at the end of S, and return
the part before it, the separator itself, and the part after it. If the
separator is not found, return two empty strings and S.

>>> str1="abcdefg"
>>> str1.rpartition("b")
('a', 'b', 'cdefg')
>>> str1.rpartition("d")
('abc', 'd', 'efg')
>>> str1.rpartition("g")
('abcdef', 'g', '')
目录
相关文章
|
26天前
|
安全 Ubuntu Shell
深入解析 vsftpd 2.3.4 的笑脸漏洞及其检测方法
本文详细解析了 vsftpd 2.3.4 版本中的“笑脸漏洞”,该漏洞允许攻击者通过特定用户名和密码触发后门,获取远程代码执行权限。文章提供了漏洞概述、影响范围及一个 Python 脚本,用于检测目标服务器是否受此漏洞影响。通过连接至目标服务器并尝试登录特定用户名,脚本能够判断服务器是否存在该漏洞,并给出相应的警告信息。
153 84
|
7天前
|
数据可视化 项目管理
个人和团队都好用的年度复盘工具:看板与KPT方法解析
本文带你了解高效方法KPT复盘法(Keep、Problem、Try),结合看板工具,帮助你理清头绪,快速完成年度复盘。
47 7
个人和团队都好用的年度复盘工具:看板与KPT方法解析
|
21天前
|
数据采集 JSON API
如何利用Python爬虫淘宝商品详情高级版(item_get_pro)API接口及返回值解析说明
本文介绍了如何利用Python爬虫技术调用淘宝商品详情高级版API接口(item_get_pro),获取商品的详细信息,包括标题、价格、销量等。文章涵盖了环境准备、API权限申请、请求构建和返回值解析等内容,强调了数据获取的合规性和安全性。
|
25天前
|
存储 Java 开发者
浅析JVM方法解析、创建和链接
上一篇文章《你知道Java类是如何被加载的吗?》分析了HotSpot是如何加载Java类的,本文再来分析下Hotspot又是如何解析、创建和链接类方法的。
|
19天前
|
数据挖掘 vr&ar C++
让UE自动运行Python脚本:实现与实例解析
本文介绍如何配置Unreal Engine(UE)以自动运行Python脚本,提高开发效率。通过安装Python、配置UE环境及使用第三方插件,实现Python与UE的集成。结合蓝图和C++示例,展示自动化任务处理、关卡生成及数据分析等应用场景。
83 5
|
29天前
|
安全
Python-打印99乘法表的两种方法
本文详细介绍了两种实现99乘法表的方法:使用`while`循环和`for`循环。每种方法都包括了步骤解析、代码演示及优缺点分析。文章旨在帮助编程初学者理解和掌握循环结构的应用,内容通俗易懂,适合编程新手阅读。博主表示欢迎读者反馈,共同进步。
|
1月前
|
存储 测试技术 Python
Python 中别再用 ‘+‘ 拼接字符串了!
通过选择合适的字符串拼接方法,可以显著提升 Python 代码的效率和可读性。在实际开发中,根据具体需求和场景选择最佳的方法,避免不必要的性能损失。
47 5
|
1月前
|
存储 缓存 Python
Python中的装饰器深度解析与实践
在Python的世界里,装饰器如同一位神秘的魔法师,它拥有改变函数行为的能力。本文将揭开装饰器的神秘面纱,通过直观的代码示例,引导你理解其工作原理,并掌握如何在实际项目中灵活运用这一强大的工具。从基础到进阶,我们将一起探索装饰器的魅力所在。
|
1月前
|
Python
使用Python计算字符串的SHA-256散列值
使用Python计算字符串的SHA-256散列值
41 7
|
1月前
|
Android开发 开发者 Python
通过标签清理微信好友:Python自动化脚本解析
微信已成为日常生活中的重要社交工具,但随着使用时间增长,好友列表可能变得臃肿。本文介绍了一个基于 Python 的自动化脚本,利用 `uiautomator2` 库,通过模拟用户操作实现根据标签批量清理微信好友的功能。脚本包括环境准备、类定义、方法实现等部分,详细解析了如何通过标签筛选并删除好友,适合需要批量管理微信好友的用户。
54 7