python中字符串String及其常见操作指南(方法、函数)

目录
  • 下标与切片
  • 常见方法
    • 查找
    • 替换
    • 分割
    • 大小写格式化
    • 对齐格式化
    • 清除空白字符
    • 检查
  • 补充:16个常用函数
  • 总结

注意:对字符串的所有操作,原始数据(即原字符串)不变 !(字符串是不可变类型)

对原字符串操作会返回一个操作后的数据, 可以使用变量去接受数据

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------

下标与切片

str[下标],从左向右0→+,从右向左-1→

str[起始:结束:步长],范围包首不包尾

>>> str="0123456789"    #定义一个字符串,从0到9,共10个元素
>>> str[0]              #取出0号下标的元素
'0'
>>> str[10]             #尝试取出10号下标的元素
Traceback (most recent call last):
  File "<pyshell#6>", line 1, in <module>
    str[10]
IndexError: string index out of range
                        #报错,下标越界,不存在str[10]
>>> str[9]              #下标从左向右数,第一个为0号下标,第N个元素下标为N-1
'9'
>>> str[-1]             #下标从右向左数,第一个为-N号下标,倒数最后一个为-1
'9'
>>> str[-10]
'0'

常见方法

查找

.find(str),str存在字符串中返回下标索引值,不存在返回-1

.rfind(str),str存在字符串中,查找顺序为从右向左,其它与find一样

.index(str),存在返回下标索引值,不存在报异常

.rindex(str),存在返回下标索引值,查找顺序为从右向左,其它与index一样

.count(str[,起始,结束]),查找指定字符串中该字符出现的总次数

>>> str='123aaabcdeeff'        #定义一个字符串用于测试字符串方法的使用
>>> str.find(0)                #尝试查询整数0是在于字符串中的下标
Traceback (most recent call last):
  File "<pyshell#7>", line 1, in <module>
    str.find(0)
TypeError: must be str, not int
                               #字符串操作,查询操作对象必须为字符串类型,所以元素应用‘'标识
>>> str.find('1')          #查询字符1在指定字符串中首次出现的下标
0                          #返回的下标为0
>>> str.find('a')          #查询字符a在指定字符串中首次出现的下标
3                          #返回的下标为3
>>> str.rfind('a')         #反向查询(即从末尾向前查询),字符a首次出现在字符串中的下标
5                          #返回的下标为5
>>> str.index('0')         #使用index查询时,字符不存在时,会报错
Traceback (most recent call last):
  File "<pyshell#11>", line 1, in <module>
    str.index('0')
ValueError: substring not found
>>> str.find('0')          #使用find查询时,不存在返回-1
-1
>>> str.rindex('a')        #使用rindex反向查询
5
>>> str.count('a')         #使用count查询指定字符出现的总共次数
3
>>> str.count('f')
2
>>> str.count('a',0,3)     #使用count时,可以指定范围,第一个数字指定起始位置,
0                          #第二个数字指定 结束范围,查询范围包含起始位,不包含结束位
>>> str.count('a',1,5)
2
>>> str.find('abcde')      #操作对象为字符串,传入参数也是一个字符串,并不一定是一个字符
5                          #可以是字母数字以及中文

替换

.replace(str1,str2 [,n] ),将字符串中所有的str1替换为str2,n可指定最多替换的次数

>>> str='123aaabcdeeff'
>>> str.replace('a','s')            #不指定替换次数,将会全部替换
'123sssbcdeeff'
>>> str.replace('a','s',1)          #指定次数时,仅替换指定次数个,替换顺序为从前向后
'123saabcdeeff'
>>> str.replace('a','s',2)
'123ssabcdeeff'

分割

.split(str[,n]),以str为分隔符(分割后丢失),将字符串分割为多个字符串,n可指定最多的分割次数

.partition(str),已指定字符做为一个部分,分割两边,生成三部分的字符串

.splitlines(),按照行进行分割,返回一个包含各行作为元素的列表

>>> str='123123123'                #定义一个字符串,用于测试
>>> str.split('2')                 #使用split进行分割
['1', '31', '31', '3']             #分割后指定的分割符消失,生成多个字符串的列表
>>> str.partition('2')             #使用partition进行分割
('1', '2', '3123123')              #仅进行一次分割,分割后制定的分割符单独成为一部分
>>> str='abc\nabc\nabc\nabc'       #定义一个包含行符的字符串
>>> print(str)                     #打印输出测试
abc
abc
abc
abc
>>> str.splitlines()               #使用splitlines进行分割,生成一个列表,每一行数据为一个元素
['abc', 'abc', 'abc', 'abc']

大小写格式化

.capitalize(),将字符串第一个首字母大写(其它都小写)

.title(),将字符串中所有单词首字母大写(其它都小写)

.lower()转换所有大写字符为小写

.upper()转换所有小写字符为大写

>>> str="abcABC defDEF hijHIJ klMN"      #定义一个包含大小写的字符串用于测试
>>> str.capitalize()                     #将字符串首字母进行大写
'Abcabc defdef hijhij klmn'
>>> str.title()                          #将所有单词首字母进行大写
'Abcabc Defdef Hijhij Klmn'
>>> str.lower()                          #将字符串中所有字母小写
'abcabc defdef hijhij klmn'
>>> str.upper()                          #将字符串中所有字母大写
'ABCABC DEFDEF HIJHIJ KLMN'
>>> 

对齐格式化

.ljust(width)返回一个原字符串左对齐,并默认使用空格补充至长度为width的字符串

.rjust(width)返回一个原字符串右对齐,并默认使用空格补充至...........

.center(width) 返回一个原字符居中,并使用空格补充至width长度的新字符串

#默认使用空格补充长度,显示不够明显,所以为了突出效果,指定使用了*补充
str1='   abcde  '
print(str1.ljust(20,'*'))   #左对齐,指定长度为20
str2='   abcde   '
print(str2.rjust(20,'*'))   #右对齐,指定长度为20
str3='   abcde   '
print(str3.center(20,'*'))  #居中对齐,指定长度为20

#执行结果
#   abcde  **********
# *********   abcde
# ****   abcde   *****

清除空白字符

.lstrip(),删除左侧的空白字符

.rstrip(),删除末尾的空白字符

.strip(),删除两端的空白字符

>>> str='   abc   '
>>> str.lstrip()        #删除左侧空格
'abc   '
>>> str.rstrip()        #删除右侧空格
'   abc'
>>> str.strip()         #删除两侧空格
'abc'
>>> 

检查

.startswith(str),检查字符串是否以指定字符开头,是则返回Turn,否则返回False

.endswith(str),检查字符串是否以指定字符结尾,是则返回Turn,否则为False

.isalpha(),检查字符串是否都是字母,是返回Turn,否则返回False

.isdigit(),检查字符串是否只包含数字,是返回Turn,否则返回False

.isalnum(),检查字符串是否都是字母或数字,是返回Turn,否则返回False

.isspace(),检查字符串是否只包含空格,是返回Turn,否则返回False

>>> str0='0123abcd'
>>> str1='12345'
>>> str2='abcdef'
>>> str3='    '
>>> str0.startswith('0')    #检查是否包含指定字符串,是则返回True
True
>>> str0.startswith('6')    #不包含则返回Flace
False
>>> str0.endswith('0')      #检查是否以指定字符串结束,不是返回Flace
False
>>> str0.endswith('d')      #是则返回True
True
>>> str1.isalnum()          #检测指定字符串是否全是字母和数字组成
True
>>> str2.isalpha()          #检测指定字符串是否全为字母
True
>>> str0.isdigit()          #检测指定字符串是否全是数字
False
>>> str3.isspace()          #检测指定字符串是否全为空格
True
>>> 

补充:16个常用函数

方法 描述
str.len() 返回str字符串的长度
str.lower() 返回字符串str的副本,全部字符小写
str.upper() 返回字符串str的副本,全部字符大写
str.islower() 当str全部字符都是小写时,返回True,否则返回False
str.isupper() 当str全部字符都是大写时,返回True,否则返回False
str.isprintable() 当str全部的字符都是可打印时,返回 True,否则返回False
str.isalnum() 当str只由字母或数字组成时,返回True,否则返回False
str.isalpha() 当str的所有字符都是字母组时,返回True,否则返回False
str.isascii() 当str的所有字符均在ascii码内,返回True, 否则返回False
str.isdecimal() 当str的所有字符均是Unicode数字全角数字时,返回True,否则返回False
str.isdigit() 当str的所有字符都是Unicode数字byte数字全角数字罗马数字时,返回True,否则返回False
str.isnumeric() 当str的所有字符都是Unicode数字全角数字罗马数字汉字数字时,返回True, 否则返回False
str.isidentifier() 如果str是有效的Python标识符返回True,否则返回False
str.isspace() 当str所有字符都是空格时,返回True, 否则返回False
str.format() 返回字符串str的一种排版格式
str.count(sub [, start [, end]]) 返回str[start: end]中sub子串出现的次数

总结

到此这篇关于python中字符串String及其常见操作指南(方法、函数)的文章就介绍到这了,更多相关python字符串String常见操作内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python数据类型之String字符串实例详解

    本文实例讲述了Python数据类型之String字符串.分享给大家供大家参考,具体如下: String(字符串) 1.概述 字符串是以单引号或双引号括起来的任意文本,比如"abc",'xy'等等,请注意''或者""本身只是一种表示方式,并不是字符串的一部分. a.若字符串内部包含单引号又包含双引号怎么办? print('I\'m \"ok\"') 表示的字符串内容是: I'm "ok" 注意:转义字符\可以转义很多字符,比如\

  • python实现字典(dict)和字符串(string)的相互转换方法

    本文实例讲述了python实现string和dict的相互转换方法.分享给大家供大家参考,具体如下: 字典(dict)转为字符串(string) 我们可以比较容易的将字典(dict)类型转为字符串(string)类型. 通过遍历dict中的所有元素就可以实现字典到字符串的转换: for key, value in sample_dic.items(): print "\"%s\":\"%s\"" % (key, value) 字符串(string

  • Python列表(list)、字典(dict)、字符串(string)基本操作小结

    创建列表 复制代码 代码如下: sample_list = ['a',1,('a','b')] Python 列表操作 复制代码 代码如下: sample_list = ['a','b',0,1,3] 得到列表中的某一个值 复制代码 代码如下: value_start = sample_list[0] end_value = sample_list[-1] 删除列表的第一个值 复制代码 代码如下: del sample_list[0] 在列表中插入一个值 复制代码 代码如下: sample_li

  • Python原始字符串(raw strings)用法实例

    本文实例讲述了Python原始字符串(raw strings)用法,分享给大家供大家参考.具体如下:   Python原始字符串的产生正是由于有正则表达式的存在.原因是ASCII 字符和正则表达式特殊字符间所产生的冲突.比如,特殊符号"\b"在ASCII 字符中代表退格键,但同时"\b"也是一个正则表达式的特殊符号,代表"匹配一个单词边界". 为了让RE 编译器把两个字符"\b"当成你想要表达的字符串,而不是一个退格键,你需要

  • Python 基础之字符串string详解及实例

    Python字符串(string) 详解 及 代码 Python的字符串可以使用单引号('), 双引号("), 三引号('''); 三引号(''')里面, 可以添加单引号和双引号, 也可以通过转义序列(\)添加; 字符串放在一起自动连接成为一个字符串; 字符串前面添加限定词R或r, 表示是自然字符串(nature string), 可以忽略里面的格式限制; 在物理行末尾添加"\", 可以连接下一个物理行; 括号, 方括号, 大括号也可以一定限度的扩充物理行; 具体参见代码注释

  • Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)

    去空格及特殊符号 s.strip().lstrip().rstrip(',') Python strip() 方法用于移除字符串头尾指定的字符(默认为空格). 复制字符串 #strcpy(sStr1,sStr2) sStr1 = 'strcpy' sStr2 = sStr1 sStr1 = 'strcpy2' print sStr2 连接字符串 #strcat(sStr1,sStr2) sStr1 = 'strcat' sStr2 = 'append' sStr1 += sStr2 print

  • Python格式化字符串f-string概览(小结)

    简介 f-string,亦称为格式化字符串常量(formatted string literals),是Python3.6新引入的一种字符串格式化方法,该方法源于PEP 498 – Literal String Interpolation,主要目的是使格式化字符串的操作更加简便.f-string在形式上是以 f 或 F 修饰符引领的字符串(f'xxx' 或 F'xxx'),以大括号 {} 标明被替换的字段:f-string在本质上并不是字符串常量,而是一个在运行时运算求值的表达式: While

  • python开发之字符串string操作方法实例详解

    本文实例讲述了python开发之字符串string操作方法.分享给大家供大家参考,具体如下: 在python中,对于字符串string的操作,我们有必要了解一下,这样在我们的以后的开发中会给我们带来很多方便 下面是我学习的笔记: #python-string #python中的字符串用单引号''和双引号""标示 strA = 'this is a string' strB = "this is a message!" #打印两个字符串 print("打印两

  • Python的string模块中的Template类字符串模板用法

    string.Template() string.Template()内添加替换的字符, 使用"$"符号, 或 在字符串内, 使用"${}"; 调用时使用string.substitute(dict)函数. 可以通过继承"string.Template", 覆盖变量delimiter(定界符)和idpattern(替换格式), 定制不同形式的模板. 代码: # -*- coding: utf-8 -*- import string templat

  • Python实现string字符串连接的方法总结【8种方式】

    本文实例总结了Python实现string字符串连接的方法.分享给大家供大家参考,具体如下: 以下基于python 2.7版本,代码片段真实有效. 一. str1+str2 string类型 '+'号连接 >>> str1="one" >>> str2="two" >>> str1+str2 'onetwo' >>> 二. str1,str2 string类型 ','号连接成tuple类型 &g

随机推荐