python3 字符串

python3 字符串


一起来回顾基础啊~

字符串内建函数

修改:

  • split(str="", num=string.count(str))
    分割字符串,默认以空格分割

  • strip([chars]) 移除字符串头尾指定的字,(默认为空格或换行符)或字符序列

lstrip() 删除开头的空格, rstrip() 删除末尾的空格

string =123 2  45   4   ’
string.split()  # '123', '2', '45', '4'
string.strip()  # '123 2 45 4’
  • join(seq)
    以指定字符串作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串

seq中的元素都得是字符串。

以空格连接列表中的字符串元素:

>>>'  '.join(['I', 'like', 'apple'])
>>>I like apple
  • replace(old, new [, max])
    把 将字符串中的 str1 替换成 str2,如果 max 指定,则替换不超过 max 次。

大小写转换:

  • upper() 将字符串中小写字母转大写
  • lower() 将字符串中大写字母转小写
  • swapcase() 大小写互换
  • capitalize() 将字符串的第一个字符转换为大写

求取:

  • len() 返回字符串长度

查找:

  • count(str, beg= 0,end=len(string))
    返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数

  • find(str, beg=0, end=len(string))
    检测 str 是否包含在字符串中,如果指定范围 beg 和 end ,则检查是否包含在指定范围内,如果包含返回开始的索引值,否则返回-1

rfind() 从右边开始查找

字符串运算

  • 字符串连接 +
  • 重复字符串 *
  • 成员运算 in / not in
  • 索引[], 切片[::]

格式化:

  1. 字符串格式化使用与 C 中 sprintf 函数一样的语法
print ("我叫 %s 今年 %d 岁!" % ('小明', 10))
  1. 使用format

字符串与正则表达式

正则表达式(Regular Expression)是一种文本模式,包括普通字符和特殊字符(称为"元字符")。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。

  • 原始字符串 r/R
    为避免ASCII 字符和正则表达式特殊字符间所产生的冲突,使用原始字符串避免转义。

正则表达式语法

普通字符包括没有显式指定为元字符的所有可打印和不可打印字符。这包括所有大写和小写字母、所有数字、所有标点符号和一些其他符号。

python3 正则表达式

re.match与re.search的区别

re.match 只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回 None,而 re.search 匹配整个字符串,直到找到一个匹配。

  • re.match(pattern, string, flags=0)
    判断模式是否匹配成功,匹配成功则返回匹配对象

  • re.search(pattern, string, flags=0)
    扫描整个字符串并返回第一个成功的匹配。

import re 
line = "Cats are smarter than dogs" 
searchObj = re.search( r'(.*) are (.*?) .*', line, re.M|re.I) 
if searchObj: 
    print ("searchObj.group() : ", searchObj.group()) 
    print ("searchObj.group(1) : ", searchObj.group(1)) 
    print ("searchObj.group(2) : ", searchObj.group(2)) 
else: 
    print ("Nothing found!!")

匹配成功这两种方法都会返回一个匹配的对象,否则返回None。我们可以使用group(num=0) 或 groups() 匹配对象函数来获取匹配表达式。
group() group(0) groups() 获取所有匹配对象组成的元组
group(1) 获取匹配对象的第一项

re.findall, re.finditer

findall在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表。

finditer和findall类似,在字符串中找到正则表达式所匹配的所有子串,并把它们作为一个迭代器返回。

注意:match 和 search 是匹配一次 findall 和 finditer 匹配所有。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值