Day17.String字符串处理库

时间:2022-07-25
本文章向大家介绍Day17.String字符串处理库,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

例题引导:现有字符串“abcdefghi”,请使用切片分别提取出ceggec

解题关键:切片方法的应用。切片是字符串中很重要的一部分,其操作方法和元组、字典等都类似,大家一定要掌握。

参考答案:

words = "abcdefghi"
# 正向取
new_words1 = words[-7:-1:2]
# 反向取
new_words2 = words[-3:-8:-2]

print(new_words1)
print(new_words2)

学习引导:

  • 查找字符串
  • 修改字符串
  • 删除字符串
  • 判断字符串

string字符串处理库

字符串作为一种常见的数据类型,在日常中我们面临各式各样的字符串处理问题,那么,这就要求我们必须掌握一些常用的字符串处理函数。

下面我们就字符串的基本需求:查找、修改、删除、判断这四方面对字符串处理库进行简单的介绍。

查找

常用于查找到函数有:find()、index()、count()

find()

检测字符串是否包含特定字符,如果包含,则返回开始的索引;否则,返回-1。

str='Welcome to DataScience'
print(str.find('Da'))
#11
print(str.find('wc'))
#-1
index()

检测字符串是否包含指定字符,如果包含,则返回开始的索引值;否则,提示错误。

print(str.index('come'))
#3
print(str.index('Date'))
---------------------------------------------------------------------------

ValueError                                Traceback (most recent call last)

<ipython-input-12-85801a960777> in <module>
----> 1 print(str.index('Date'))
ValueError: substring not found
count()

返回str1在string中指定索引范围内[start, end)出现的次数。

print(str.count('e'))
#4
print(str.count('Da'))
#1

修改

常见的用于字符串修改函数有replace()、split()、join()、capitalize()、title()、upper() 、loewr()、ljust()、rjust()、center()

replace()

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

  • 该函数语法如下: str.replace(old, new[,max])
  • 参数说明: old -- 将被替换的子字符串 new -- 新字符串,用于替换old子字符串
  • max -- 可选字符串, 替换不超过 max 次
str='Welcome to Data Science'
print(str.replace("Data", "data"))
#Welcome to data Science
print(str.replace("e", "E", 3))
#WElcomE to Data SciEnce
Split()
  • 如果 maxsplit有指定值,则仅分割 maxsplit 个子字符串;
  • 语法格式如下: str.split('分界符', maxSplit)
  • 参数说明: maxSplit默认值为-1,表示根据定界符分割所有能分割的
  • 返回值为列表
str='Welcome to Data Science'
print(str.split(' '))  #用空格作为分节符
#['Welcome', 'to', 'Data', 'Science']
print(str.split('e',3))
#['W', 'lcom', ' to Data Sci', 'nce']
capitilize()
  • 将字符串的首字母大写,其余字母全部小写
  • 语法结构如下: str.capitiliaze()
  • 无参数
str='welcome to Data Science'
print(str.capitalize())
#Welcome to data science
join()
  • 用于将序列中的元素以指定的字符连接生成一个新的字符串。
  • 语法结构如下: str.join(sequence)
  • sequence -- 要连接的元素序列。
seq='Welcome to Data Science'
str='-'
print(str.join(seq))
#W-e-l-c-o-m-e- -t-o- -D-a-t-a- -S-c-i-e-n-c-e
title()
  • 将字符串中的所有单词的首字母大写,其余字母全部小写;
  • 值得注意的是,这里单词的区分是以任何标点符号区分的,即,标点符号的前后都是一个独立的单词,字符串最后一个标点除外哦。详细看示例哈
  • 语法结构如下: str.title() 无参数
str='welcome to data science'
print(str.title())
#Welcome To Data Science
str='welcome,to data-science.'   #加标点符号
print(str.title())
#Welcome,To Data-Science.
lower()
  • 将字符串的所有字母转换为小写;
  • 语法格式如下: str.lower() 无参数
str='WELCOME TO DATA SCIENCE'
print(str.lower())
#welcome to data science
upper()
  • 将字符串的所有字母转换为大写;
  • 语法格式如下:str.upper() 无参数
str='welcome to data science'
print(str.upper())
#WELCOME TO DATA SCIENCE
ljust()
  • 将字符串左对齐,并使用空格填充至指定长度len;
  • 语法格式如下: str.ljust(len)
str='Welcome to data science'
print('str的原长度为%d'%(len(str)))
print('str处理后的长度为%d'%(len(str.ljust(30))))
print(str.ljust(30))
'''
str的原长度为23
str处理后的长度为30
Welcome to data science  
'''    
rjust()
  • 将字符串右对齐,并使用空格填充至指定长度len;
  • 语法格式如下: str.rjust(len)
str='Welcome to data science'
print('str的原长度为%d'%(len(str)))
print('str处理后的长度为%d'%(len(str.rjust(30))))
print(str.rjust(30))
#str的原长度为23
#str处理后的长度为30
#       Welcome to data science
center()
  • 将字符串居中,并使用空格填充至指定长度len;
  • 语法格式如下: str.center(len)
str='Welcome to Data Science'
print(str.center(30))
print('str的原长度为%d'%(len(str)))
print('str处理后的长度为%d'%(len(str.center(30))))
#   Welcome to Data Science    
#str的原长度为23
#str处理后的长度为30

删除

常用的字符串删除方法有:lstrip()、rstripe()、stripe()

lstrip()
  • 去掉字符串左边的空白字符;
  • 语法格式如下: str.lstrip()
str='   Welcome to Data Science'
print(str)
print(str.lstrip())
#   Welcome to Data Science
#Welcome to Data Science
rstrip()
  • 去掉字符串右边的空白字符;
  • 语法格式如下: str.rstrip()
str='Welcome to Data Science   '
print(str)
print(str.rstrip())
#Welcome to Data Science  
#Welcome to Data Science
  • strip()
  • 去掉字符串两边的空白字符;
  • 语法格式如下: str.strip()
str='   Welcome to Data Science   '
print(str)
print(str.strip())
#   Welcome to Data Science  
#Welcome to Data Science

判断

常见的用于判断字符串的函数有:startwith()、endwith()、isalpha()、isdigit()、isalnum() 、isspace()

startswith()
  • 检查字符串str是否 以字符串str1开头,若是,则返回True;否则,返回False;
  • 语法结构如下: str.startswith()
str='Welcome to Data Science'
print(str.startswith('W'))
print(str.startswith('w'))
#True
#False
endswith()
  • 检查字符串str是否 以字符串str1结尾,若是,则返回True;否则,返回False;
  • 语法结构如下: str.endswith()
str='Welcome to Data Science'
print(str.endswith('e'))
print(str.endswith('c'))
#True
#False
isalpha()
  • 如果字符串str中只包含字母,则返回True;否则,返回False;
  • 语法结构如下: str.isalpha()
str='Welcome to Data Science'
print(str.isalpha())   #包含空格
#False
str_='asd'
print(str_.isalpha())
#True
  • isdigit()
  • 如果字符串str中只包含数字,则返回True;否则,返回False;
  • 语法结构如下: str.isdigit()
str='Welcome to Data Science'
print(str.isdigit())
#False
str_='12345'
print(str_.isdigit())
#True
  • isalnum()
  • 检测字符串是否由字母和数字组成。
  • 语法结构如下: str.isalnum()
str='Welcome to Data Science'
print(str.isalnum())
#False
str_='123data'
print(str_.isalnum())
#True
  • isspace()
  • 如果字符串str中只包含空格,则返回True;否则,返回False;
  • 语法结构如下: str.isspace()
str='Welcome to Data Science'
print(str.isspace())
#False

小作业:

1.现有字符串“abcdefghi”,请使用切片分别提取出ceggec

2.回文数是指从左向右读和从右向左读都是一样的数,输入一个整数,判断该整数是否为回文数。

3.控制台输入任意字符串,将其去掉重复的字符后,按照字符ASCII码顺序从小到大排序后输出。例如:输入asdopwwsa16yy7aq,输出167adopqswy

4.将以下字符串按结果要求分割输出

#原字符串:
'better9late9than9never'

#分割后输出列表嵌套的字符串:
['better', 'late', 'than', 'never']