haibaraxx的个人博客分享 http://blog.sciencenet.cn/u/haibaraxx

博文

Python:字符串和字符串方法

已有 6126 次阅读 2017-6-11 17:57 |个人分类:Python|系统分类:科研笔记| 字符串, 字符串方法

字符串的表示:单引号、双引号、三引号

上述r'path'的情况,实际用到了raw字符串r''的功能就是使转义字符失效,如:

>>> r'n'

'\n'  # 也就是n而不是换行符。


字符串方法



#-------------------------------------------------------

字符串查找 - find(), rfind(), index(), rindex()

#-------------------------------------------------------

find() - 返回字符串第一次出现的位置,如果没有匹配项则返回-1。

Str1.find(substr, beg=0, end=len(Str1))

rfind() - 返回字符串最后一次出现的位置,如果没有匹配项则返回-1。

Str1.rfind(substr, beg=0, end=len(Str1))

index() - 返回字符串第一次出现的位置,如果没有匹配项则出现异常。

Str1.index(substr, beg=0, end=len(Str1))

rindex() - 返回字符串最后一次出现的位置,如果没有匹配项则出现异常。

Str1.rindex(substr, beg=0, end=len(Str1))

substr — 需要被检索的字符串子串。强制参数。
beg — 字符串查找的起始索引,默认为0。可选参数。
end — 字符串查找的结束索引,默认为字符串的长度。可选参数。

#-------------------------------------------------------

字符串统计次数 - count()

#-------------------------------------------------------

count() - 统计字符串中某子串出现的次数。

Str1.count(substr, beg=0, end=len(Str1))

substr — 需要被统计的字符串子串。强制参数。
beg — 字符串检测的起始索引,默认为0。可选参数。
end — 字符串检测的结束索引,默认为字符串的长度。可选参数。


#-------------------------------------------------------------------------------

字符串分割 - split(), rsplit(), splitlines(), partition(), rpartition()

#-------------------------------------------------------------------------------

split() - 指定分隔符从左往右对字符串分割num次,返回分割后的字符串列表。

Str1.split(sep=' ', num=Str1.count(sep))

rsplit() - 指定分隔符从右往左对字符串分割num次,返回分割后的字符串列表。

Str1.rsplit(sep=' ', num=Str1.count(sep))

sep — 分隔符(字符串),默认为空格(空格、制表、换行)。强制参数。
num — 分割次数,默认值为分隔符的数量。可选参数。

splitlines() - 按照行('r', 'rn', 'n')分隔,返回一个包含各行作为元素的列表。

Str1.splitlines(keepends)

keepends — 在输出结果里是否保留换行符('r', 'rn', n'),默认为 False (或0),即去掉换行符; 如果为 True(或1),则保留换行符。强制参数。

partition() - 根据指定的分隔符将字符串进行分割。如果字符串包含指定的分隔符,则返回一个3元的元组,第一个元素为正数第一个分隔符左边的子串,第二个元素为分隔符本身,第三个元素为正数第一个分隔符右边的子串

Str1.partition(sep)

sep — 分隔符(字符串),无默认值。强制参数。

rpartition() - 根据指定的分隔符将字符串进行分割。如果字符串包含指定的分隔符,则返回一个3元的元组,第一个元素为倒数第一个分隔符左边的子串,第二个元素为分隔符本身,第三个元素为倒数第一个分隔符右边的子串

Str1.rpartition(sep)

sep — 分隔符(字符串),无默认值。强制参数。


#-------------------------------------------------------

字符串合并与拼接 - join()

#-------------------------------------------------------

join() - 将字符串以指定的拼接符拼接起来,返回一个新的字符串。

jointstr.join(seq)

jointstr — 拼接符(字符串)。强制参数。
seq — 序列中要拼接的字符串顺序。强制参数。

#------------------------------------------------------------

字符串去字符(空格) - strip(), lstrip(), rstrip()

#------------------------------------------------------------

strip() - 删除字符串首尾的指定字符(默认为空格),返回删除指定字符后生成的新字符串。

Str1.strip([chars])

lstrip() - 删除字符串开头(即最左边)的指定字符(默认为空格),返回删除指定字符后生成的新字符串。

Str1.lstrip([chars])

rstrip() - 删除字符串末尾(即最右边)的指定字符(默认为空格),返回删除指定字符后生成的新字符串。

Str1.rstrip([chars])

chars — 指定删除的字符(默认为空格)。强制参数。

#-------------------------------------------------------

字符串替换 - replace(), translate()

#-------------------------------------------------------

replace() - 把字符串中的old(旧字符串)替换成new(新字符串),如果指定参数max,则替换不超过 max 次。返回字符串中的old(旧字符串) 替换成new(新字符串)后生成的新字符串。

string.replace(old, new, max)

old — 将被替换的子字符串。强制参数。
new — 新字符串,用于替换old子字符串。强制参数。
max — 替换不超过max次,默认值为old(旧字符串)出现的次数。可选参数。

translate() - 根据参数table给出的表转换字符串的字符,返回翻译后的字符串。

Str1.translate(table)

table — 映射表(翻译表),通过maketrans()方法创建。强制参数。

maketrans() - 创建字符映射的转换表。

Python3: str.maketrans(intab, outtab)

Python2: import string

              string.maketrans(intab, outtab)

intab — 原始字符串,即需要被转换的字符串。强制参数。
outtab — 新字符串,即翻译过来的字符串。强制参数。


#-------------------------------------------------------

字符串比较 - cmp() 对比: ==, !=, is, is not

#-------------------------------------------------------

cmp() - 将两个字符串进行比较,首先将字符串中的符号转化为一个数字(ASCII值),然后比较。Str1 < Str2,返回负值(-1);Str1 = Str2,返回0;Str1 > Str2,返回正值(1)。仅在Python2中可用,Python3已把该函数移除!

cmp(Str1, Str2)

对比:

== 比较操作符 - 比较两个对象是否相等value做为判断因素;

Str1 == Str2

!= 比较操作符 - 比较两个对象是否相等value做为判断因素;

Str1 != Str2

is 同一性运算符 - 比较判断两个对象是否相同id做为判断因素。

Str1 is Str2

is not 同一性运算符 - 比较判断两个对象是否不相同id做为判断因素。

Str1 is not Str2



#--------------------------------------------------------------------------------------------------------------------------------------

字符串大小写转换及判断 - upper(), lower(), swapcase(), capitalize(), title(), isupper(), islower(), istitle()

#--------------------------------------------------------------------------------------------------------------------------------------

upper() - 字符串中的小写字母转为大写字母,返回被转为大写字母的字符串。

Str1.upper()

isupper() - 判断字符串中的字符是否都是大写字母,若字符均为大写,则返回True,否则False。

Str1.isupper()

lower() - 字符串中的大写字母转为小写字母,返回被转为小写字母的字符串。

Str1.lower()

islower() - 判断字符串中的字符是否都是小写字母,若字符均为小写,则返回True,否则False。

Str1.lower()

swapcase() - 字符串中的大写字母转为小写字母,且小写字母转为大写字母,返回转换后的字符串。

Str1.swapcase()

capitalize() - 将字符串的第一个字母变成大写,其他字母变小写,返回只有首字母为大写的字符串。

Str1.capitalize()

title() - 返回"标题化"的字符串,即所有单词首字母大写,其余字母均为小写

Str1.title()

istitle() - 判断字符串是否“标题化”,若字符串“标题化”,则返回True,否则False。

Str1.istitle()


#-----------------------------------------------------------

字符串前缀与后缀 - startswith(), endswith()

#-----------------------------------------------------------

startswith() - 判断字符串是否以指定子串开头,如果是则返回 True,否则返回 False。

Str1.startswith(substr, beg=0, end=len(Str1))

endswith() - 判断字符串是否以指定子串结尾,如果是则返回 True,否则返回 False。

Str1.endswith(substr, beg=0, end=len(Str1))

substr — 需要被检索的字符串子串(前缀或后缀)。强制参数。
beg — 字符串检测的起始索引,默认为0。可选参数。
end — 字符串检测的结束索引,默认为字符串的长度。可选参数。


#------------------------------------------------------------------------------------------------------

字符串是否由数字、字母、空格组成 - isalnum(), isalpha(), isdigit(), isspace()

#------------------------------------------------------------------------------------------------------

isalnum() - 判断字符串是否由字母和数字组成,如果是则返回 True,否则返回 False。

Str1.isalnum()

isalpha() - 判断字符串是否只由字母组成,如果是则返回 True,否则返回 False。

Str1.isalpha()

isdigit() - 判断字符串是否只由数字组成,如果是则返回 True,否则返回 False。

Str1.isdigit()

isspace() - 判断字符串是否只由空格组成,如果是则返回 True,否则返回 False。

Str1.isspace()


#----------------------------------------------------------------------

字符串对齐方式与填充 - center(), ljust(), rjust(), zfill()

#----------------------------------------------------------------------

center() - 返回的字符串:原字符串居中,两侧用填充符填充至新字符串的指定宽度。

Str1.center(width, fillchar = ‘ ’)

ljust() - 返回的字符串:原字符串左对齐,右侧用填充符填充至新字符串的指定宽度。

Str1.ljust(width, fillchar = ‘ ’)

rjust() - 返回的字符串:原字符串右对齐,左侧用填充符填充至新字符串的指定宽度。

Str1.rjust(width, fillchar = ‘ ’)

zfill() - 返回的字符串:原字符串左对齐,左侧用0填充至新字符串的指定宽度。

Str1.zfill(width)

width — 返回字符串的指定宽度。强制参数。
fillchar — 填充字符,默认为空格。可选参数。

注:若返回字符串的指定宽度< =原字符串宽度,则返回原字符串,且不填充字符。





https://blog.sciencenet.cn/blog-3031432-1060192.html

上一篇:Python:序列(字符串、列表、元组)和序列函数
下一篇:Python: 转义字符
收藏 IP: 95.90.225.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-11-24 16:54

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部