前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Day17.String字符串处理库

Day17.String字符串处理库

作者头像
DataScience
发布2020-09-25 13:52:13
3190
发布2020-09-25 13:52:13
举报
文章被收录于专栏:A2DataA2Data

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

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

参考答案:

代码语言:javascript
复制
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。

代码语言:javascript
复制
str='Welcome to DataScience'
print(str.find('Da'))
代码语言:javascript
复制
#11
代码语言:javascript
复制
print(str.find('wc'))
代码语言:javascript
复制
#-1
index()

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

代码语言:javascript
复制
print(str.index('come'))
代码语言:javascript
复制
#3
代码语言:javascript
复制
print(str.index('Date'))
代码语言:javascript
复制
---------------------------------------------------------------------------

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)出现的次数。

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

删除

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

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

判断

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

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

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

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

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

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

代码语言:javascript
复制
#原字符串:
'better9late9than9never'

#分割后输出列表嵌套的字符串:
['better', 'late', 'than', 'never']
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-09-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DataScience 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • string字符串处理库
    • 查找
      • 修改
        • 删除
          • 判断
            • 小作业:
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档