Python中关于字符串你应该知道这些...
# Python中字符串的常见用法
### 定义:带有双引号/单引号/三引号
### 双引号:适用于所写的字符串里没有双引号的。例如:
"凡是“辛苦”必是礼物"报错
### 单引号:适用于所写的字符串里没有单引号的。例如:
'I'm xiaoming'报错
### 三引号:适用于多行字符串。例如:
''' 灯火星星...人声杳杳...歌不尽乱世烽火'''.上述三行可正常输出
###字符串可以用"" "" "" 、"str1 str2 str3"和("" "" "")以及("str1 str2 str3")表示而("","","")和 "","",""是元组
```
>>> name = "Jerry","Jenny"
>>> type(name)
<class 'tuple'
>>>> name = ("as" "we" "can" "do")
>>> type(name)
<class 'str'
>>>> poems = ("曾经沧海难为水","除去巫山不是云")
>>> type(poems)
<class 'tuple'
>>>> name = "Jack","Keoa","Kim"
>>> name('Jack', 'Keoa', 'Kim')
>>> type(name)
<class 'tuple'
>>>> name = ("as" "we" "can" "do")
>>> type(name)
<class 'str'
>>>> name = "Jerry Jenny"
>>> name
'Jerry Jenny'
>>> type(name)
<class 'str'>>>>
name = ("Jerry Jack Tom")
>>> name
'Jerry Jack Tom'
>>> type(name)
<class 'str'>
```
###一些性质
####\t \n \t\n
#####\t: \t表示空四个字符,也称缩进,相当于按一下Tab键
```
>>> name = "\tJerry Jenny"
>>> print(name)
Jerry Jenny
>>> name = "Jerry\tJenny"
>>> print(name)
Jerry Jenny
>>> name = "Jer\try Jen\tny"
>>> print(name)
Jer ry Jen ny
```
##### \n : \n表示换行,相当于按一下回车
```
>>> name = "Jerry Jenny\n"
>>> print(name)
Jerry Jenny
>>> name = "Jerry\nJenny"
>>> print(name)
Jerry
Jenny
>>> name = "Jerry\nJenn\ny"
>>> print(name)
Jerry
Jenny
```
##### \t\n: \n\t表示换行加每行空四格
```
>>> name = "\tJerry Jenny\n"
>>> print(name)
Jerry Jenny
>>> name = "\tJerry\nJenny"
>>> print(name)
Jerry
Jenny
>>> name = "\t\nJjerry Jenny"
>>> print(name)
Jjerry Jenny
>>> name = "Jerry Jenny\t\n"
>>> print(name)
Jerry Jenny
```
##### .center(number," ")以number个居中对齐
```
>>> name = "Jerry Tom"
>>> name.center(50)
' Jerry Tom '
>>> name.center(50,"-")
'--------------------Jerry Tom---------------------'
```
##### .count(" ",start,end) 找指定字符串在star到end范围内出现的次数
```
>>> name = "Jenny Jerry"
>>> name.count("J")
2
>>> name.count("J",1,7) # 一个空格占一个下标
1
>>> name.count("J",1,6) # 顾头不顾尾
0
>>> name[6]
'J'
>>> name.count("nn")
1
```
##### .endswith("") 检查字符串最后是不是以指定字符结尾的
```
>>> name = "Jenny Jerry"
>>> name.endwith("rry") # 是.endswith而不是endwith哦
Traceback (most recent call last): File "<stdin>", line 1, in <module>AttributeError: 'str' object has no attribute 'endwith'
>>> name = "Jenny Jerry"
>>> name.endswith("rry")
True
>>> name.endswith(3) # 不支持整型
Traceback (most recent call last): File "<stdin>", line 1, in <module>TypeError: endswith first arg must be str or a tuple of str, not int
>>> name.endswith("3")
False
>>> name.endswith("y Jerry")
True
```
##### .startswith("") 检查字符串湿奴是以指定字符开头的
```
>>> name = "Jenny Jerry"
>>> name.startswith("Je")
True
>>> name.startswith("e")
False
```
##### .find("",start,end),同样是顾头不顾尾,在字符串内存在指定字符则返回第一个出现的下标,不存在则返回-1
```
>>> name = "Jerry Jenny"
>>> name.find("J")
0
>>> name.find("J",1)
6
>>> name.find("J",1,7)
6
>>> name.find("J",1,6)
-1 # 顾头不顾尾检索不到6,故不存在返回-1
>>> name.find("m")
-1
```
##### .format() 格式化打印
```
>>> a = "my name is %s,i am %s years old" %("Jerry",20)
>>> a
'my name is Jerry,i am 20 years old'
>>> a = "my name is %s,i am %d years old" %("Jerry",20)
>>> a'
my name is Jerry,i am 20 years old'
>>> a = "my name is {0},i am {1} years old"
>>> a.format("Jerry",20) # 直接打印出来不用再调用a或者print
'my name is Jerry,i am 20 years old'
>>> a = "my name is {name},i am {age} years old"
>>> a.format(name ="Jerry",age=20)'
my name is Jerry,i am 20 years old'
>>> a = "she is {name},{name} is {age} years old"
>>> a.format(name="Jerry",age=20)
'she is Jerry,Jerry is 20 years old'
```
##### .isdigit() 判断是不是整数
```
>>> name = "Jerry"
>>> name.isdigit()
False
>>> age = "12"
>>> age.isdigit()
True
>>> a = "Jerry,20"
>>> a.isdigit()
False
>>> b="12"
>>> b.isdigit()
True
>>> b = "20"+"2"
>>> b
'202'
>>> b.isdigit()
True
>>> b = "20 12"
>>> b.isdigit()
False
>>> "20".isdigit()
True
>>> "20 1".isdigit()
False
>>> a = "20 1"
>>> a
'20 1'
>>> a = 21
>>> a.isdigit()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'int' object has no attribute 'isdigit'
```
##### .capitalize() 首字母大写
```
>>> name = "jerry amy"
>>> name.capitalize()
'Jerry amy'
>>> name = "Jerry amy"
>>> name.capitalize()
'Jerry amy'
```
##### .index("",start,end) 索引找出指定元素的第一个下标
```
>>> name = "Jerry"
>>> name.index("J")
0
>>> name.index("r")
2
>>> name.index("r",3,4)
3
```
##### .casefold() 大写全部变为小写
```
>>> name = "Jerry Tom"
>>> name'Jerry Tom'
>>> name.casefold()
'jerry tom'
```
##### .lower()全部变小写
```
>>> name ="Jerry Jenny"
>>> name.lower()
'jerry jenny'
>>> name = "jerry jenny"
>>> name.lower()
'jerry jenny'
```
##### .upper()全部变大写
```
>>> name = "Jenny Jerry"
>>> name.upper()
'JENNY JERRY'
>>> name = "Jenny-Jerry"
>>> name.upper()
'JENNY-JERRY'
```
##### .islower()判断出现字符的地方是不是全都是小写,如果没有字符,比如数字或特殊形式也返回False
```
>>> name ="Jerry Jenny"
>>> name.islower()
False
>>> name = "jerry jenny"
>>> name.islower()
True
>>> name = "13 jerry"
>>> name.islower()
True
>>> age = "20 12"
>>> age.islower()
False
>>> sign = "* & $"
>>> sign.islower()
False
```
##### .isupper()判断出现字符的地方是不是全都是大写,如果没有字符,比如数字或特殊形式也返回False
```
>>> name = "Jerry Jenny"
>>> name.isupper()
False
>>> name = "JERRY JENNY"
>>> name.isupper()
True
>>> name = "12"
>>> name.isupper()
False
>>> name = "JERRY 12"
>>> name.isupper()
True
>>> name = "JENNY 12t"
>>> name.isupper()
False
>>> poems = "曾经沧海难为水,除去巫山不是云"
>>> name.isupper()
False
>>> poems = "曾经沧海难为水,除去巫山不是云A"
>>> poems.isupper()
True
>>> poems = "曾经沧海难为水,除去巫山不是云,A"
>>> poems.isupper()
True
```
##### .swapcase()把字符串里的大写变小写,小写变大写
```
>>> name = "Jenny Jerry"
>>> name.swapcase()
'jENNY jERRY'
>>> poems = "曾经沧海难为水,除去巫山不是云"
>>> poems.swapcase()
'曾经沧海难为水,除去巫山不是云'
```
##### .isspace()判断有没有空间
```
>>> a =''
>>> a.isspace() # 仅有引号不算 必须只有空格
False
>>> a = ' '
>>> a.isspace()
True
>>> a = ' '
>>> a.isspace()
True>
>> a = '1 2 3'
>>> a
'1 2 3'
>>> a.isspace()
False
```
##### "".join()把列表或者字符串里面的字符以“”里面的形式拼接起来
```
>>> numbers = [1,2,4]
>>> "-".join(numbers)
Traceback (most recent call last): File "<stdin>", line 1, in <module>TypeError: sequence item 0: expected str instance, int found
>>> str = ["1","2","4"]
>>> "-".join(str)'
1-2-4'
>>> name = ("Jerry" "Jenny" "Alex")
>>> "*".join(name)
'J*e*r*r*y*J*e*n*n*y*A*l*e*x'
>>> "-".join(name)
'J-e-r-r-y-J-e-n-n-y-A-l-e-x'
>>> "".join(name)'
JerryJennyAlex'
>>> name = ("Jerry","Jenny","Alex")
>>> "-".join(name)
'Jerry-Jenny-Alex'
```
##### .ljust(step,"sign") 从左对齐step个不够的用sign补齐
```
>>> poems = ("曾经沧海难为水" "除去巫山不是云")
>>> (poems).ljust(50,"_")
'曾经沧海难为水除去巫山不是云____________________________________'
>>> poems.ljust(50,"-")
'曾经沧海难为水除去巫山不是云------------------------------------'
```
##### .rjust(step,"sign")从右对齐step个不够的用sign补齐
```
>>> poems.rjust(50,"*")
'************************************曾经沧海难为水除去巫山不是云'>>> poems.rjust(50,"")
Traceback (most recent call last): File "<stdin>", line 1, in <module>TypeError: The fill character must be exactly one character long
>>> poems.rjust(50," ")
' 曾经沧海难为水除去巫山不是云'
```
##### .zfill(step)从左对齐step个不够的用0补齐
```
>>> poems = "曾经沧海难为水,除去巫山不是云"
>>> poems.zfill(50)
'00000000000000000000000000000000000曾经沧海难为水,除去巫山不是云'
```
##### .strip() 清楚两边格式 即将字符串里两边的换行缩进都清除 如果在中间就清除不了
```
>>> name = "Jerry Jenny\t\n"
>>> print(name)
Jerry Jenny
>>> name.strip()
'Jerry Jenny'
>>> name = "Jenny\tJerry\n"
>>> print(name)
Jenny Jerry
>>> name.strip()
'Jenny\tJerry'
>>> name = " Jerry-Jenny \t Jack\n"
>>> print(name)
Jerry-Jenny Jack
>>> name.strip()
'Jerry-Jenny \t Jack'
>>> name = "------------- Jerry\nJenny "
>>> print(name)
------------- JerryJenny
>>> name.strip()
'------------- Jerry\nJenny'
```
##### .lstrip() 清楚左边格式 即将字符串左边的换行缩进都清除 如果在中间和右边就清除不了
```
>>> name = "\t\nJjerry Jenny"
>>> print(name)
Jjerry Jenny
>>> name.lstrip()
'Jjerry Jenny'
>>> name = "Jerry Jenny\t\n"
>>> name.lstrip()
'Jerry Jenny\t\n'
```
##### .rstrip() 清楚右边格式 即将字符串右边的换行缩进都清除 如果在中间和左边就清除不了
```
>>> name = "Jerry Jenny\t\n"
>>> name.rstrip()
'Jerry Jenny'
>>> name = "\t\nJjerry Jenny"
>>> name.rstrip()
'\t\nJjerry Jenny'
```
##### .replace("str1","str2",count)把字符串里的str1改count次str2
```
>>> a = "I am 20 years old,and Amy is 20 years old too"
>>> a.replace("20","21")
'I am 21 years old,and Amy is 21 years old too'
>>> a.replace("20","21",1)
'I am 21 years old,and Amy is 20 years old too'
```
##### .split("",count) 通过指定分隔符对字符串进行切片,count默认=-1,即全分
```
>>> name = "Jerry Jenny Jack"
>>> name.split()
['Jerry', 'Jenny', 'Jack'] # 默认count=-1,即全分
>>> name.split(" ",1)
['Jerry', 'Jenny Jack']
>>> name = "Jerry,Jenny,Jack"
>>> name.split()
['Jerry,Jenny,Jack']
>>> name.split(",",1) # 只分一次,从左算起
['Jerry', 'Jenny,Jack']
>>> name = "Jerry-Jenny#Jack"
>>> name
'Jerry-Jenny#Jack'
>>> name.split()
['Jerry-Jenny#Jack']
>>> name.split("-") # 依据-开始分
['Jerry', 'Jenny#Jack']
>>> name.split("#",2)
['Jerry-Jenny', 'Jack']
```
##### .rsplit("",count)和.split()用法基本一样,只是从右开始分,count=-1时看不出来区别
```
>>> name = "Jerry-Jenny#Jack"
>>> name
'Jerry-Jenny#Jack'
>>> name.rsplit()
['Jerry-Jenny#Jack']
>>> name.rsplit("-")
['Jerry', 'Jenny#Jack']
>>> name.rsplit("#")
['Jerry-Jenny', 'Jack']
>>> name = "*Jack*Jerry#Jenny"
>>> name.rsplit("*",1) # 从右开始按*分一次
['*Jack', 'Jerry#Jenny']
>>> name.rsplit("*") # 从右开始按*全分,从又开始算起相当于第一个*号前面是个空格
['', 'Jack', 'Jerry#Jenny']
>>> name.split("*",1) # 从左开始按*分一次
['', 'Jack*Jerry#Jenny']
>>> name.split("*")
['', 'Jack', 'Jerry#Jenny']
```
#### 拼接:可进行字符串的加,乘,例如:
```
str1="一重山"
str2="两重山"
str1+str2
'一重山两重山' # 输出结果
str1*3'一重山一重山一重山' # 输出结果
```
#### 其他运算基本上都不能实现,比如减法,除法,乘方
欧克,先写到这里啦,如果有不对的地方,望指正呀~
wuwuwu好像不支持Markdown,看起来有点乱,可以参看我的CSDN:https://blog.csdn.net/m0_46252978/article/details/105568531
或者简书:https://www.jianshu.com/p/90280e7f8ab7
Python中关于字符串你应该知道这些...的更多相关文章
- Python中Unicode字符串
Python中Unicode字符串 字符串还有一个编码问题. 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理.最早的计算机在设计时采用8个比特(bit)作为一个字节(byte ...
- Python中的字符串处理
Python转义字符 在需要在字符中使用特殊字符时,python用反斜杠(\)转义字符.如下表: 转义字符 描述 \(在行尾时) 续行符 \\ 反斜杠符号 \' 单引号 \" 双引号 \a ...
- python中修改字符串的几种方法
在Python中,字符串是不可变类型,即无法直接修改字符串的某一位字符.因此改变一个字符串的元素需要新建一个新的字符串.常见的修改方法有以下4种. 方法1:将字符串转换成列表后修改值,然后用join组 ...
- python中根据字符串导入模块module
python中根据字符串导入模块module 需要导入importlib,使用其中的import_module方法 import importlib modname = 'datetime' date ...
- python中的字符串
一.在python中,字符串是不可变类型 通过以下代码说明: >>> s = 'hello, world' >>> id(s) 2108634288304 > ...
- 【转】Python中的字符串与字符编码
[转]Python中的字符串与字符编码 本节内容: 前言 相关概念 Python中的默认编码 Python2与Python3中对字符串的支持 字符编码转换 一.前言 Python中的字符编码是个老生常 ...
- Python中常见字符串去除空格的方法总结
Python中常见字符串去除空格的方法总结 1:strip()方法,去除字符串开头或者结尾的空格>>> a = " a b c ">>> a.s ...
- Python中的字符串方法
Python中的字符串方法 字符串类即str提供了许多有用的方法来操纵字符串.具体来说,我们将讨论如下的方法. 搜索字符串内的子字符串. 测试字符串. 格式字符串. 转换字符串. 回顾前面的章节,方法 ...
- python中的字符串切片
python中的字符串切片,似乎有点乱,例如: >>>pystr='Python' >>>pystr[2:5] 就会输出 'tho' 这该怎样理解呢?中括号[2:5 ...
- python 中的字符串格式化
python 中的字符串格式化 %方式的调用 1.格式化代码 代码 意义 s 字符串,使用str r 字符串,使用repr不使用str c 字符 d 十进制的数字 i 整数 u 无符号整数 o 八进制 ...
随机推荐
- 使用Servlet和JSp在浏览器上实现对数据库表的增删改查(新手)
第一步:用户输入网址进入一个登陆界面. 里面要有账号密码输入. 登陆界面链接到登陆的Servlet类中. Servlet类 --> 1.接收参数(账户密码) 2.调用DAO层的 SQL语句 验 ...
- 一文讲清楚MySQL事务隔离级别和实现原理,开发人员必备知识点
经常提到数据库的事务,那你知道数据库还有事务隔离的说法吗,事务隔离还有隔离级别,那什么是事务隔离,隔离级别又是什么呢?本文就帮大家梳理一下. MySQL 事务 本文所说的 MySQL 事务都是指在 I ...
- win7 win10 更换电脑盘符的图标
效果如下 第一步 -> 1.把文件全放到盘符住目录 2.如果需要更换图标 (文件最好是ICO后缀的) 打开 Autorun 文件并编辑 第二步 -> 重启电脑就完了 下载连接 已经放到码 ...
- mysql字段数据类型、设置严格模式
表操作 今日内容 1.数据类型 建表的时候,字段都有对应的数据类型 整型 浮点型 字符类型(char与varchar) 日期类型 枚举与集合 2.约束条件 primary key unique key ...
- 题解 P1748 【H数】
我来讲讲 \(dp\) 的做法 前言 昨天 \(PHY\) 大佬问我,这题怎么做?考虑到他没学过 \(set\) . \(priority_queue\) 和 \(queue\) .之后,我就想到了可 ...
- 网维大师重建B盘方法
[操作步骤]操作前先熟悉步骤,以免手忙脚乱.请在人少的时候操作. 1.打开网维大师安装目录,进入barserver\找到barserver.ini打开,找到[PlatformUpdate]字段下的up ...
- 证明与计算(7): 有限状态机(Finite State Machine)
什么是有限状态机(Finite State Machine)? 什么是确定性有限状态机(deterministic finite automaton, DFA )? 什么是非确定性有限状态机(nond ...
- 使用sklearn做单机特征工程(Performing Feature Engineering Using sklearn)
本文转载自使用sklearn做单机特征工程 目录 目录 特征工程是什么 数据预处理 1 无量纲化 11 标准化 12 区间缩放法 13 标准化与归一化的区别 2 对定量特征二值化 3 对定性特征哑编码 ...
- 深入理解JavaScript中的堆与栈 、浅拷贝与深拷贝
JavaScript中的浅拷贝与深拷贝 学了这么长时间的JavaScript想必大家对浅拷贝和深拷贝还不太熟悉吧,今天在项目中既然用到了,早晚也要理清一下思路了,在了解之前,我们还是先从JavaSc ...
- java 中的字符串处理--正则表达式
最近在做一些支付报文处理工作,需要从各种各样的报文中提取需要的信息比如(金额,订单号...),每个渠道报文各式各样,想要写一个通用的提取逻辑,于是就回顾java正则表达式的用法.当然我们可以自己写一些 ...