9、字符串操作

2019-03-05  本文已影响40人  唯老

一、字符串包含

1、说明

字符串就是一串字符,是编程语言中表示文本的数据类型

在Python中可以使用一对双引号或者一对单引号定义一个字符串,但是有些时候会在字符串中相互包含

虽然可以使用\"\'做字符串的转义,但是实际开发中

  • 如果字符串内容需要使用"双引号,可以使用单引号'定义字符串
  • 如果字符串内容需要使用单引号',可以使用双引号"定义字符串

2、示例代码

str1 = "hello python"
str2 = "你是'王二狗'么"
str3 = '你是"李小花"么'
print(str1)
print(str2)
print(str3)

二、去掉空格和特殊符号

1、说明

用于移除字符串头尾指定的字符(默认为空格或者换行符)或字符序列

注意:

方法只能删除开头或是结尾的字符,不能删除中间部分的字符。

2、语法格式

  1. 去掉两边
    str.strip([chars])
    
  2. 去掉左边
    str.lstrip([chars])
    
  3. 去掉右边
    str.rstrip([chars]) 
    

3、参数说明

4、返回值

返回删除 string 字符串末尾的指定字符后生成的新字符串

5、示例代码

  1. 去掉两边的空格或者换行符,或者指定的
    # 去掉两边空格和换行符
    In [1]: s = " 花开花落 \t \n"
    In [2]: s.strip()
    Out[2]: '花开花落'
    #  去掉两边指定的字符串
    In [3]: s = "abcdef"
    In [4]: s.strip('f')
    Out[4]: 'abcde'   
    
  2. 去掉右边或者左边
    In [1]: s = " 花开花落 \t \n"
    In [7]: s.lstrip()
    Out[7]: '花开花落 \t \n'
    In [8]: s.rstrip()
    Out[8]: ' 花开花落'
    

三、字符串的分割

1、说明

按着指定的分隔符对字符串进行切片

2、语法格式

str.split(str="", num=string.count(str)).

3、参数

4、返回值

列表

5、示例代码

  1. 默认切割
    In [2]: s =  "自古多情空余恨,唯 有 套路 得 人 心"
    In [3]: l = s.split()
    In [4]: l
    Out[4]: ['自古多情空余恨,唯', '有', '套路', '得', '人', '心']
    
  2. 按着指定字符进行分割
    In [6]: s = "玉-树-临-风-美-少-男-,-揽-镜-自-顾-夜-不-眠"
    In [7]: l = s.split('-')
    In [8]: l
    Out[8]: ['玉', '树', '临', '风', '美', '少', '男',  '揽', '镜', '自', '顾', '夜', '不', '眠']
    
  3. 指定分割次数
    In [9]: s = '我/劝/你/善/良'
    In [10]: l = s.split('/',2)
    In [11]: l
    Out[11]: ['我', '劝', '你/善/良']
    

四、字符串替换

1、说明

把字符串中的 旧字符串替换成新字符串,如果指定第三个参数max,则替换不超过 max 次

2、语法格式

str.replace(old, new[, count])

3、参数说明

4、返回值

返回字替换后生成的新字符串

5、示例代码

  1. 替换字符串
    In [1]: s = "道理我都懂,我就是要作一会"
    In [2]: new_s = s.replace('我', '你')
    In [3]: new_s
    Out[3]: '道理你都懂,你就是要作一会'
    
  2. 替换次数
    In [5]: s = 'abcdefaaa'
    In [6]: new_s = s.replace('a', '-', 3)
    In [7]: new_s
    Out[7]: '-bcdef--a'
    

五、字符串查找

1、说明

检测 str 是否包含在 string 中,如果 beg 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1

2、语法格式

find(self, sub, start=None, end=None)
# 从右边开始查找
rfind(str, beg=None end=None)

3、参数说明

4、返回值

包含子字符串返回开始的索引值,否则返回-1

5、实例代码

  1. 基本查找
    In [1]: s = 'Python 了解一下'
    In [2]: i = s.find('y')
    In [3]: i
    Out[3]: 1
    In [4]: s.find('te')
    Out[4]: -1
    





  2. 指定位置查找
    In [5]: i = s.find('y',1,3)
    In [6]: i
    Out[6]: 1
    In [7]: i = s.find('n',1,3)
    In [8]: i
    Out[8]: -1
    In [9]: i = s.find('n',1)
    In [10]: i
    Out[10]: 5
    # 反向查找    
    In [11]: i = s.find('n',1,-5)
    In [12]: i
    Out[12]: 5
    

六、判断字符串

1、说明

判断是否以指定的字符串开始或结束

2、语法格式

startswith(prefix, start=None, end=None)
endswith(prefix, start=None, end=None)

3、参数说明

4、返回值

如果检测到字符串则返回True,否则返回False。

5、实例代码

  1. 示例1
    In [1]: s = '总有刁民想害朕'
    In [2]: b = s.startswith('总有')
    In [3]: b
    Out[3]: True
    





  2. 示例2
    In [1]: s = '人生在世 但求心安!心若安,人世静好'
    In [2]: s.endswith('静好')
    Out[2]: True
    
  3. 示例3
    In [3]: s = 'you can you up  no can no bb'
        # 从索引1位置开始检测
    In [4]: s.startswith('y',1)
    Out[4]: False
    In [5]: s.startswith('c',4,10)
    Out[5]: True    
    

七、统计次数

1、说明

统计字符串里某个字符出现的次数

2、语法格式

count(sub[, start[, end]])

3、参数说明

4、返回值

字符串在字符串中出现的次数

5、实例代码

  1. 示例1
    In [12]:  s = 'you can you up  no can no bb'
    In [13]: s.count('c')
    Out[13]: 2
    In [14]: s.count('you')
    Out[14]: 2
    In [15]: s.count('bb')
    Out[15]: 1
    





  2. 示例2
    In [16]: s.count('bb',-1)
    Out[16]: 0
    In [17]: s.count('you',10,-1)
    Out[17]: 0    
    

八、字符大小写转化

1、说明

字符串中的小写字母转为大写字母或者将字符串的大写转化成小写。中文无效。通常用在对外部输入的字符串转化之后进行比较

2、语法格式

upper()
lower()

4、返回值

返回小写字母转为大写字母的字符串

5、实例代码

  1. 小写转大写
    In [18]: s = 'abc'
    In [19]: s.upper()
    Out[19]: 'ABC'
    





  2. 大写转小写
    In [20]: name = 'Wener'
    In [21]: name.lower()
    Out[21]: 'wener'
    

九、其它

1、判断

方法名 返回值 说明
isalnum() bool 是否全是字母和数字
isalpha() bool 是否全是数字
isdigit() bool 是否全是数字
isspace() bool 是否是空白字符,并至少有一个字符
islower() bool 字母是否全是小写
isupper() bool 字母是否全是大写
istitle() bool 是否是首字母大写的
上一篇下一篇

猜你喜欢

热点阅读