第5章 字符串及正则表达式

5.1 字符串常用操作

5.1.1 拼接字符串

使用+运算符可完成多个字符串的拼接,产生一个新的字符串对象。

str1 = "2020年07月06日是"
str2 = "星期一"
print(str1+ "-" + str2)

字符串不允许直接与其他类型的数据拼接,非字符串须转换为字符串。

# 字符串拼接的例子
str1 = "2020年07月06日是7月第"
str2 = "天"
num1 = 6
print(str1 + str(num1) + str2)

5.1.2 计算字符串的长度

python默认UTF-8编码,一个汉字占3个字节,一个字母占1个字节,一个数字占一个字节。

len(string.encode())
str1 = "2020"
str2 = "星期三"
str3 = "Wednesday"
print(len(str1.encode()))
print(len(str2.encode()))
print(len(str3.encode()))

5.1.3 截取字符串

string[start : end : step]
# 去掉星期两字
str1 = "星期一星期二星期三星期四星期五星期六星期日"
print(str1[2:len(str1):3])

5.1.4 分割、合并字符串

1、分割

str.split(sep, maxsplit)
参数说明
sep:分隔符,默认为所有的空字符。
maxsplit:分割次数.默认为 -1, 即分隔所有。
str1 = "Google#Runoob#Taobao#Facebook"
# 第二个参数为2,分割2次,返回两个参数列表
strnew = str1.split("#", 2)
print(strnew)
输出:['Google', 'Runoob', 'Taobao', 'Facebook']
str1 = "星期一#星期二#星期三#星期四#Sunday"
# 第二个参数为2,分割2次,返回两个参数列表
strnew = str1.split("#", 20)
print(strnew)
输出:['星期一', '星期二', '星期三', '星期四', 'Sunday']

2、合并字符串

strnew = string.join(iterable)
参数说明
string:指定的字符
iterable:可迭代的一个序列
string = '-'
iterable = 'python'
strnew = string.join(iterable)
print(strnew)
输出:p-y-t-h-o-n

5.1.5 检索字符串

1、count()方法

list1 = ["Monday","Tuesday","wednesday","Thursday","Friday","Saturday","Sunday"]
print(list1.count("Tuesday"))
output:
1

2、find()方法

str1 = "星期一星期二星期三星期四星期五星期六星期日"
print(str1.find("星期六"))
output:
15
# 如果查找的字符串不存在,将输出-1
str1 = "星期一星期二星期三星期四星期五星期六星期日"
print(str1.index("星期八"))
output:
-1

3、index()方法

str1 = "星期一星期二星期三星期四星期五星期六星期日"
print(str1.index("星期六"))
output:
15
# 如果查找的字符串不存在,将会产生异常
str1 = "星期一星期二星期三星期四星期五星期六星期日"
print(str1.index("星期八"))
output:
ValueError: substring not found

4、startswith()方法

str.startswith(prefix[, start[, end]])
str1 = "#星期一星期二星期三星期四星期五星期六星期日"
print(str1.startswith("#"))
output:
True

5、endswith()方法

str.endswith(suffix[, start[, end]])
str1 = "#星期一星期二星期三星期四星期五星期六星期日"
print(str1.endswith("日"))
output:
True

5.1.6 字母的大小写转换

1、lower()方法

str.lower()
str1 = "Monday"
print(str1.lower())
输出:monday

2、upper()方法

str.upper()
str1 = "Monday"
print(str1.upper())
输出:MONDAY

5.1.7 去除字符串中的空格和特殊字符

1、strip()方法

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

str.strip([chars])
chars:移除字符串头尾指定的字符序列
str1 = "                      M o n da  y               "
print(str1.strip())
output:M o n da y

2、lstrip()方法

lstrip() 方法用于截掉字符串左边的空格或指定字符

str.lstrip([chars])
str1 = "                      M o n da  y               "
print(str1.lstrip())
M o n da y

3、rstrip()方法

rstrip() 删除 string 字符串末尾的指定字符(默认为空格)

str.rstrip([chars])
str1 = "                      M o n da  y               "
print(str1.rstrip())
output: M o n da y

5.1.8 格式化字符串

1、使用%操作符---放弃使用

'%[-][+][0][m][.n]格式化字符'%exp

2、使用字符串对象的format()方法---建议使用

str.format(args)
str:用于指定字符串的显示样式(即模板)
args:用于指定要转换的项,如果有多项,逗号分隔

创建模板

{[index][:[[fill]align][sign][#][width][.precision][type]]}

format()方法中常用的格式化

格式化字符 说明
s 对字符串类型
d
c 将十进制整数自动转换成对应的Unicode字符
e或者 转换为科学计数法表示再
g或者 自动在e和f或者EF中切换
b 将十进制整数自动转换成二进制表示再
o 将十进制整数自动转换成八进制表示再格式化
x或者 将十进制整数自动转换成十六进制表示再格式化
f或者 转换为浮点数再格式化
% 显示
template = '今天的日期是{:s},星期{:s}'
date = template.format('20200706','一')
print(date)
output:
今天的日期是2020706,星期一

5.1.9 字符串转字节

# python3添加了bytes字节类型
s = "apple"
print(bytes(s,encoding='utf-8'))
output:
b'apple'

Python3笔记022 - 5.1 字符串常用操作的更多相关文章

  1. Python学习笔记五:字符串常用操作,字典,三级菜单实例

    字符串常用操作 7月19日,7月20日 ,7月22日,7月29日,8月29日,2月29日 首字母大写:a_str.capitalize() 统计字符串个数:a_str.count(“x”) 输出字符, ...

  2. Python 基礎 - 字符串常用操作

    字符串常用操作 今天就介紹一下常用的字符串操作,都是以 Python3撰寫的 首字母變大寫 #!/usr/bin/env python3 # -*- coding:utf-8 -*- name = & ...

  3. javascript中字符串常用操作整理

    javascript中字符串常用操作整理 字符串的操作在js中非常频繁,也非常重要.以往看完书之后都能记得非常清楚,但稍微隔一段时间不用,便会忘得差不多,记性不好是硬伤啊...今天就对字符串的一些常用 ...

  4. 初识python: 字符串常用操作

    直接上代码示例: #!/user/bin env python # author:Simple-Sir # time:20180914 # 字符串常用操作 name = 'lzh lyh' print ...

  5. python笔记2-数据类型:字符串常用操作

    这次主要介绍字符串常用操作方法及例子 1.python字符串 在python中声明一个字符串,通常有三种方法:在它的两边加上单引号.双引号或者三引号,如下: name = 'hello' name1 ...

  6. python3字符串常用操作练习

    练习一下字符串的常用操作 #-*- coding:utf-8 -*- #字符串的常用操作 str = "1111 Hell :wo:rld! " #删除头尾所有指定字符串,默认移除 ...

  7. JavaScript 字符串常用操作

    JavaScript 字符串用于存储和处理文本.因此在编写 JS 代码之时她总如影随形,在你处理用户的输入数据的时候,在读取或设置 DOM 对象的属性时,在操作 Cookie 时,在转换各种不同 Da ...

  8. javascript中字符串常用操作总结、JS字符串操作大全

    字符串的操作在js中非常频繁,也非常重要.以往看完书之后都能记得非常清楚,但稍微隔一段时间不用,便会忘得差不多,记性不好是硬伤啊...今天就对字符串的一些常用操作做个整理,一者加深印象,二者方便今后温 ...

  9. JavaScript 字符串常用操作纪要

    JavaScript 字符串用于存储和处理文本.因此在编写 JS 代码之时她总如影随形,在你处理用户的输入数据的时候,在读取或设置 DOM 对象的属性时,在操作 Cookie 时,在转换各种不同 Da ...

随机推荐

  1. Java实现 蓝桥杯 历届试题 错误票据

    问题描述 某涉密单位下发了某种票据,并要在年终全部收回. 每张票据有唯一的ID号.全年所有票据的ID号是连续的,但ID的开始数码是随机选定的. 因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成 ...

  2. java实现第六届蓝桥杯密文搜索

    密文搜索 福尔摩斯从X星收到一份资料,全部是小写字母组成. 他的助手提供了另一份资料:许多长度为8的密码列表. 福尔摩斯发现,这些密码是被打乱后隐藏在先前那份资料中的. 请你编写一个程序,从第一份资料 ...

  3. FPGA之SPI SD卡读操作

    这几天在FPGA调试与SD通信,读SD卡里的图片,之前接触32时没有去研究过SD卡,不太熟悉操作流程,在网上找了很多资料,也看了几个32开发板的资料,但大多数都讲得不是特别清楚,只能瞎操作了一番,在别 ...

  4. 小程序 大转盘 抽奖 canvas animation

    项目需求运用到大转盘 可设置概率 可直接自定义结果 效果如下

  5. Node第三方模块

    node第三方模块集合 1.nrm 切换npm下载的镜像地址 nrm ls   查看可用镜像 nrm use +镜像名 2.nodemon 在控制台nodenom替代node命令执行nodejs文件, ...

  6. 小师妹学JavaIO之:MappedByteBuffer多大的文件我都装得下

    目录 简介 虚拟地址空间 详解MappedByteBuffer MapMode MappedByteBuffer的最大值 MappedByteBuffer的使用 MappedByteBuffer要注意 ...

  7. Asp.Net Core入门之自定义服务注册

    谈到服务注册,首先我们先了解一下服务注册时使用的三种方式,也代表了不同的服务生命周期: AddTransient AddScoped AddSingleton AddSingleton生命周期最长,其 ...

  8. [转] C++中的namespace

    点击阅读原文 namespace中文意思是命名空间或者叫名字空间,传统的C++只有一个全局的namespace,但是由于现在的程序的规模越来越大,程序的分工越来越细,全局作用域变得越来越拥挤,每个人都 ...

  9. LR字符串处理函数-lr_save_string

    int lr_save_string( const char *param_value, const char *param_name) 指定字符串保存至参数 Action() { lr_save_s ...

  10. root和sudo

    root用户是系统中唯一的超级管理员,它具有等同于操作系统的权限.一些需要root权限的应用,譬如广告阻挡,是需要root权限的.可问题在于root比windows的系统管理员的能力更大,足以把整个系 ...