一.字符串的相关操作

1.字符串的拼接 +

strvar1 = "我爱你,"
strvar2 = "亲爱的姑凉"
res = strvar1 + strvar2
print(res)

2.字符串的重复 *

strvar1 = "重读的事情说三遍"
strvar1 = strvar1*3
print(strvar1)

3.字符串的跨行拼接 \

str1 = "dsdqbidwqdwqdb"\
"ewqhoqheoq"\
"你好明天"
print(str1)

4.字符串的索引

#         0 1 2 3 4 5
strvar = "道路一片光明"
#       -6 -5 -4 -3 -2 -1
res = strvar[4]
print(res)
res = strvar[-2]
print(res)

5.字符串的切片:切片就是截取字符串的意思

语法 =》 字符串[::]  完整格式: [开始索引:结束索引:间隔值]
   (1)[开始索引] 从开始索引截取到字符串的最后
   (2)[:结束索引] 从开头截取到结束索引之前(结束索引-1)
   (3)[开始索引:结束索引] 从开始索引截取到结束索引之前(结束索引-1)
   (4)[开始索引:结束索引:间隔值] 从开始索引截取到结束索引之前按照指定的间隔值截取字符
   (5)[:] 或[::] 截取所有字符

strvar = "爱往者爱返,福往者福来"

(1)[开始索引] 从开始索引截取到字符串的最后

res = strvar[3:]
print(res)

(2)[:结束索引] 从开头截取到结束索引之前(结束索引-1)

res = strvar[:5]
print(res)

(3)[开始索引:结束索引] 从开始索引截取到结束索引之前(结束索引-1)

res = strvar[6:9]
print(res)

(4)[开始索引:结束索引:间隔值] 从开始索引截取到结束索引之前按照指定的间隔值截取字符

#爱者返福者
# 0 2 4 6 8 爱 者 返 福 者
res = strvar[0:9:2]
print(res)

#end 不写一味的截取到最后
#3 6 9 爱 福 福
res = strvar[:3:3]
print(res)

#start 开始索引不写,意味着从头开始
# 0 4 爱返
res = strvar[:7:4]
print(res)

# 0 2 4 6 8 10 爱返者福者
strvar = "爱返者爱返,福往者福来"
res = strvar[::2]
print(res)

#倒序 -1 -2 -3 -4 。。。
res = strvar[::-1]
print(res)

(5)[:] 或 [::] 截取所有字符串

res = strvar[:]
res = strvar[::]
print(res)

2.字符串相关函数

(函数就是方法的意思,完成某个功能)

语法: 字符串.函数

常见的字符串函数如下:

capitalize 字符串首字母大写

title 每个单词的首字母大写

upper 将所有字母变成大写

lower 将所有字母变成小写

swapcase 大小写互换

len 计算字符串的长度

count 统计字符串中某个元素的数量

find 查找某个字符串第一次出现的索引位置

index 与 find 功能相同 find找不到返回-1,index找不到数据直接报错

startswith 判断是否以某个字符或字符串为开头

endswith 判断是否以某个字符或字符串结尾

isupper 判断字符串是否都是大写字母

islower 判断字符串是否都是小写字母

istitle 判断字符串是否每个单词都首字母大写

isalnum 判断字符串是否是由数字、字母、汉字组成

isalpha 判断字符串是否由字母或文字组成

isdigit 检测字符串数是数字组成 接受二进制字节流

isdecimal 检测字符串是否以数字组成  必须是纯数字

isnumeric 检测字符串是否以数字组成 接受中文"四"

isspace   判断字符串是否由空白符组成

split 按某字符将字符串分割成列表(默认字符是空格)

join  按某字符将列表拼接成字符串(容器类型都可)

splitlines 按换行来进行切分(\n)

zfill  填充字符串(默认填充0,原字符串右对齐)

ljust  填充字符串,原字符居左 (默认填充空格)

rjust  填充字符串,原字符居右 (默认填充空格)

center 填充字符串,原字符居中 (默认填充空格)

strip  默认去掉首尾两边的空白符

rstrip 去掉右边某个字符

lstrip 去掉左边某个字符

replace()

功能:   把字符串的旧字符换成新字符

格式:   字符串.replace('旧字符','新字符'[, 限制替换的次数])

返回值: 替换之后的字符串

 

#maketrans translate 是一对

maketrans()

功能:   制作用于字符串替换的映射表

格式:   字符串.maketrans('查找字符','替换字符')两个字符必须长度相等

返回值: 字典

translate()

功能:   进行字符串替换操作

格式:   字符串.translate(maketrans返回的字典)

返回值: 替换之后的字符串

 

以下对一些相对比较常用的进行讲解举例:

1 .capitalize

字符串首字母大写,除了首字母后的字母都会变成小写
strvar = "this is my world"
res = strvar.capitalize()  #这句话的首字母变成了大写
print(res)

2.title

每个单词的首字母大写 (非字母类的就可以让后面字符大写)
# strvar = "this is my world"
strvar = "this is 222my ###world"  #即使有什么别的数字也能识别到单词并使其首字母变成大写
res = strvar.title()
print(res)

3.upper 将所有字母变成大写

4.lower 将所有字母变成小写

strvar = "abcdefdqd"
res = strvar.upper()
print(res)
res = strvar.lower()
print(res)

5.swapcase 大小写互换

strvar = "aa bYYYYbb cHHHHHc ddd www "
res = strvar.swapcase()
print(res)

6.len 计算字符串的长度

(所有容器类型数据都可以使用len)
strvar = "阿士大夫撒地方撒旦法师打发尽快哈手机看地方撒即可劳动防护"
res = len(strvar)
print(res)

7.conut 统计字符串中某个元素的个数

strvar = "阿士大夫撒地方撒旦法师打发尽快哈手机看地方撒即可劳动防护可以可以可以"
res = strvar.count("可")
print(res)

8.find 查找某个字符串第一次出现的索引位置

find("字符串",start,end) 从哪里找到哪里结束 高位end取不到
如果find没找到 , 返回-1

strvar = "oh Father This is mY Favorate girl , her name is LL"
res = strvar.find("F")
print(res)
res = strvar.find("name")
print(res) #这个单词从41开始

#如果有开始,没有结束,默认查找到最后
res = strvar.find("F",4)
print(res)
res = strvar.find("s",14,16) #-1
print(res)

9.index

与 find 功能相同 find找不到返回-1,index找不到数据直接报错
# index index 和 find 用法一样,只不过如果找不到直接报错
# 推荐使用find ****
# res = strvar.index("!") #ValueError: substring not found

10.startswith endswith

判断是否以某个字符或字符串为开头

endswith startswith("字符串",start,end) 高位end取不到"""

strvar = "oh Father This is mY Favorate girl , her name is LL"
res = strvar.startswith("oh")
print(res) #判断Ture 或 False

res = strvar.endswith("L")
print(res)
print(len(strvar))
#有点问题
res = strvar.endswith("s",6,47)  #
print(res)
res = strvar.endswith("r",-6,-1)
print(res)

#自己举的例子
s = "1234567"
res = len(s)
print(res)
res = strvar.endswith("5",1,4)
print(res)

11.isalpha 判断字符串是否由字母或文字组成

strvar = "sddfqwfqfqwq321231"
print(strvar.isalpha())
strvar = "qweqeqeq是你"
print(strvar.isalpha())

12.isdigit

检测字符串数是数字组成 接受二进制节流(可以用于检测字符串是否是数字)
strvar = "12345678954321"
res = strvar.isdigit()
print(res)

#
二进制字节流:用来存储或传输数据用的一种数据
语法: b'字符串'  b后面的字符串只能是ascii编码中的字符集
byte 字节 bytes 字节流
'a'  字符 "aaa" 字符串

如果是中文字符 ,需要用encode 和 decode

strvar = b'123456'
print(strvar,type(strvar))
# strvar = b"中国人站起来了" #error  因为编码不识别
# print(strvar)

res = strvar.isdigit()
print(res)

13.isdecimal

检测字符串是否以数字组成  必须是纯数字

strvar = "2132546"
#star = b'23456' #error
res = strvar.isdecimal()
print(res)

14.split 

按某字符将字符串分割成列表(默认字符是空格)

strvar = "you can you up no can no bb"
res = strvar.split() #默认按照空格分隔
print(res)

strvar = "you:can:you:up:no:can:no:bb"
res = strvar.split(":")
print(res)
#可以接受2个参数,第二个参数意味着分隔几次(从左到右)
res = strvar.split(":",3) #意思只分隔三次,另外的不分
print(res)

#可以反向分隔 rsplit (从右到左)
res = strvar.rsplit(":",2)
print(res)

15.join

按某字符将列表拼接成字符串 (容器类型都可)

lst = ['you', 'can', 'you', 'up', 'no', 'can', 'no', 'bb']
res = '+'.join(lst)
print(res)
res = '|'.join(lst)
print(res)
res = ' '.join(lst)
print(res)

16.center 填充字符串,原字符居中 (默认填充空格)

原字符个数+要填充的字符一共10个

例:

strvar = "你好"
res = strvar.center(10,"!") #可以选择要填充的符号
print(res)
res = strvar.center(10) #如果不写默认填充空格
print(res)

17.strip

 默认去掉首尾两边的空白符 (空格 \n \t \r\n)

#可用于input输入后
strvar = "\t 大妹子真漂亮 \n"
print(strvar)
res = strvar.strip()
print(res)

18.replace()

# replace("原字符串","要替换的字符串",[可选择替换几次])

strvar = "可爱滴小狼狗喜欢吃肉,有没有,有没有,还有没有"

res = strvar.replace("有没有","真没有")
print(res)
res = strvar.replace("有没有","真没有",1)  #只换了一次
print(res)

还有以下没有举例子的字符串的方法:

isupper 判断字符串是否都是大写字母

islower 判断字符串是否都是小写字母

istitle 判断字符串是否每个单词都首字母大写

isalnum 判断字符串是否是由数字、字母、汉字组成

isnumeric 检测字符串是否以数字组成 接受中文"四"

isspace   判断字符串是否由空白符组成

splitlines 按换行来进行切分(\n)

zfill  填充字符串(默认填充0,原字符串右对齐)

ljust  填充字符串,原字符居左 (默认填充空格)

rjust  填充字符串,原字符居右 (默认填充空格)

rstrip 去掉右边某个字符

lstrip 去掉左边某个字符

三.字符串的格式化.format

语法: {} 来进行占位
(1)顺序传参
(2)索引传参
(3)关键字传参
(4)容器类型数据(列表或元组)传参

(5)format的填充符号的使用( ^  >  <  )

(6)进制转换等特殊符号的使用( :d  :f  :s  :, 

1.顺序传参

strvar = "{}给{}一个飞吻".format("LT","HXD")
print(strvar)

2.索引传参

strvar = "{1}向{0}开了一枪,饮弹而亡".format("王杰","周亮")
print(strvar)

3.关键字传参

strvar = "{hjy}对{zyw}进行扫射,鸡飞狗跳,狗急跳墙".format(zyw="张文",hjy="黄勇")
print(strvar)

4.容器类型传参

#(1)
strvar = "{0[1]}向{1[1]}发一份情书和一张私人照片,鼻血直冒三千尺".format(["黄一政","刘五星","熊华"],("素江南","陈浩"))
print(strvar)
#(2)如果是字典,场景发生在format字符串格式化当中,主要通过键取值时,不要加上引号
strvar = "{group1}向{group2[sjn]}发一份情书和一张私人照片,鼻血直冒三千尺"
res = strvar.format(group1 = ["黄一政","刘五星","熊华"],group2 = {"sjn":"素江南","ch":"陈浩"})
print(res)

5.format的填充符号的使用( ^ > < )

{who:*<10}
^ > <
^ :原字符串居中
> : 原字符串居右
< :原字符串居左
10 : 原字符 + 要填充的字符串 一共 10 个

strvar = "{who:*^10}在长春长生{something:>>10},心情{feel:!<10}"
res = strvar.format(who="潘伟成",something="扎一打疫苗",feel="爽歪歪")
print(res)

6.进制转换等特殊符号的使用(:d :f :s :,)

# :d 整型占位符
strvar = "潘柏买了{:d}个兰博基尼"
res = strvar.format(10)
print(res)

#:3d
strvar = "潘柏买了{:3d}个兰博基尼"
res = strvar.format(10)  #默认居右
print(res)

#:^3d
strvar = "潘柏买了{:^3d}个兰博基尼"
res = strvar.format(10)  #居中
print(res)
strvar = "潘柏买了{:>4d}个兰博基尼"
res = strvar.format(10) #居右
print(res)
strvar = "潘柏买了{:<4d}个兰博基尼"
res = strvar.format(10) #居左
print(res)

#:f 浮点型占位符98,94, :.2f小数保留2位
strvar = "许经雄体重{:.2f}斤"
res = strvar.format(98.32131321)
print(res)

#:s 字符串占位符
strvar = "{:s}"
res = strvar.format("好看的皮囊千篇一律,有趣的灵魂200多斤")
print(res)

#:,金钱占位符
strvar = "{:,}"
res = strvar.format(2313131)
print(res)

Python 基础之字符串操作,函数及格式化format的更多相关文章

  1. (Python基础)字符串操作

    以下是我在学习过程中用的一些常用字符串操作的相关列子和具体注释,感兴趣的可以自己动手试试看 #字符串操作 name = 'my name is keep' print(name.capitalize( ...

  2. Python基础之字符串操作

    字符串的常用操作包括但不限于以下操作: 字符串的替换.删除.截取.复制.连接.比较.查找.分割等 这里将对字符串的内置操作方法进行总结归纳,重点是以示例的方式进行展示. 使用type获取创建对象的类 ...

  3. Python中字符串操作函数string.split('str1')和string.join(ls)

    Python中的字符串操作函数split 和 join能够实现字符串和列表之间的简单转换, 使用 .split()可以将字符串中特定部分以多个字符的形式,存储成列表 def split(self, * ...

  4. Python基础数据类型-字符串(string)

    Python基础数据类型-字符串(string) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的每一篇都是Python3.x版 ...

  5. 十六. Python基础(16)--内置函数-2

    十六. Python基础(16)--内置函数-2 1 ● 内置函数format() Convert a value to a "formatted" representation. ...

  6. python基础篇(文件操作)

    Python基础篇(文件操作) 一.初始文件操作 使用python来读写文件是非常简单的操作. 我们使用open()函数来打开一个文件, 获取到文件句柄. 然后通过文件句柄就可以进行各种各样的操作了. ...

  7. 一句python,一句R︱python中的字符串操作、中文乱码、NaN情况

    一句python,一句R︱python中的字符串操作.中文乱码.NaN情况 先学了R,最近刚刚上手Python,所以想着将python和R结合起来互相对比来更好理解python.最好就是一句pytho ...

  8. JavaScript中常见的字符串操作函数及用法

    JavaScript中常见的字符串操作函数及用法 最近几次参加前端实习生招聘的笔试,发现很多笔试题都会考到字符串的处理,比方说去哪儿网笔试题.淘宝的笔试题等.如果你经常参加笔试或者也是一个过来人,相信 ...

  9. 十五. Python基础(15)--内置函数-1

    十五. Python基础(15)--内置函数-1 1 ● eval(), exec(), compile() 执行字符串数据类型的python代码 检测#import os 'import' in c ...

随机推荐

  1. 【代码学习】PYTHON 进程

    一.进程和程序的区别 编写完毕的代码,在没有运行的时候称之为程序 正在运行的代码,称之为进程 进程除了包含的代码意外,还需要运行的环境等 二.fork import os import time # ...

  2. 图片识别OCR:

    使用Python制作一个简易的OCR图片文字识别工具:键盘上的PrtScr按键+画图工具+百度AI图片识别(账户,调用接口)+python 常见的OCR工具: 1. Microsoft Onenote ...

  3. java实现二维码的生成和解析:QRCode、zxing 两种方式

    第一种:QRCode.jar,使用QRCode生成和解析二维码 1.导入jar包  2.代码 (1)QRCodeUtil .java import com.swetake.util.Qrcode; i ...

  4. css 属性值 calc (目前只了解部分)

    移动端页面,有如下图的需求: 实现效果: 实现 css 代码: .list {/*父级*/ border: 1px solid #E9EAEA; border-radius: 2px; backgro ...

  5. xml配置问题--------不允许有匹配 "[xX][mM][lL]" 的处理指令目标

    剪不断,理还乱,是BUG   相遇:不允许有匹配 "[xX][mM][lL]" 的处理指令目标   在编写MyBatic框架时,纯手编写mybatic-config.xml文件,遇 ...

  6. IDEA 创建 Spring Boot 多模块项目(Multi Modules)

    本准备写点代码实例放到网站,太多的模板,反而每次新建工程的时候很麻烦.于是准备把这个章节的内容提前先讲讲.正好把这个代码也管理起来.话说这个多模块功能还挺爽. 写过 C# 项目用过 Visual St ...

  7. 实现简单HttpServer案例

    <html> <head> <title>第一个表单</title> </head> <body> <pre> me ...

  8. 主席树(可持久化线段树)静态区间第K小

    传送门主席树 #include <bits/stdc++.h> #define int long long using namespace std; const int maxn=2e5+ ...

  9. java课极限测试

    在临近国庆的9月30号补课日 碰到了惨绝人寰的java课极限测试 我从下午两点半做到晚上九点 不得不说人在烦躁的时候是真的没办法写代码的 根本不想思考也不想学习.最后的几个小时基本就是在叹息和坐着.也 ...

  10. leetcode 0208

    目录 ✅ 108. 将有序数组转换为二叉搜索树 描述 解答 py [tdo rev 0208]py知识:if not x: 和if x is not None:和if not x is None:使用 ...