Python字符串详解(2)

字符串处理函数

一些以函数形式提供的字符串处理功能

1.len(x) 求取字符串的长度,输出为字符串x的长度

示例代码如下:

print(len("一二三四五六七89"))

运行截图:

2. str(x)    输出将任意类型x转变为对应的字符串形式(与eval函数的用法是相反的,eval函数是将字符串形式转变为常规数,而str是将常规数转变为字符串形式)

示例代码如下:

str(1.23)

str([1,2])

运行界面如下:

因为在Pycharm中无法输出字符串的形式,所以可以通过cmd命令格式符进行输出字符串形式,或者在Pycharm里面点击Tools选择Python or Debug Console,在输出界面进行输入。

示例界面如下:

(1).cmd命令格式符: 

(2).Pycharm里面点击Tools。

 

3.hex(x)   将整数x转变为他的十六进制小写形式的字符串

代码示例如下:

print(hex(425))

运行界面如下:

4.oct(x)   将整数x转变为他的八进制小写形式的字符串

代码界面如下:

print(oct(425))

运行界面如下: 

5.chr(u) u为Unicode编码,是将Unicode编码的数值输出他所表示对应的字符

ord(x)  x为字符,是将字符输出为他所对应的Unicode编码。

示例代码如下:

print(chr(425))#将Unicode编码为425的输出他对应的字符
print(ord("Ʃ"))#将字符Ʃ输出他所对应的Unicode编码

运行界面如下: 

Unicode编码是python字符串中的编码形式(所有字符串、所有代码)全部采用Unicode编码形式来实现(通用处理程序不限于不同国家的语言)及包含几乎所有国家的语言。

python字符串的编码方式:

一:统一字符编码,即覆盖几乎所有字符的编码方式。

二:从0到1114111(0x10FFF)空间,每个编码对应一个字符。

111万4111

Unicode编码代码示例如下:

示例一:
print("1+1=2"+chr(10004))#chr为将Unicode编码转化为字符

运行界面如下: 

示例二:

代码如下:

print("这个字符♉的Unicode值是:" +str(ord("♉")))#ord将字符♉的Unicode码的值输出,同时有str,输出为字符形式。

运行界面:

因为这个为金牛座,金牛为第二个星座,我们可以利用他的Unicode码将十二星座的字符通过for循环将他们输出。

示例代码如下:

for i in range (12):
      print(chr(9800+i),end="")#chr操作数利用此可以将Unicode数变成字符形式,根据金牛座作为第二星座的Unicode码为9801,可知第一个为9800

运行界面如下:

字符串处理方法 :

"方法"在编程中是一个专有名词

"方法"特指<a>.<b>( )风格中的函数<b>.( )

方法本身也是函数,但与<a>有关,按<a>.<b>( )这种风格使用

字符串及变量也是<a>,存在一些方法。

<a>.<b>风格恰恰是面向对象的一种使用风格。<a>是对象

<b>是某一个对象能够提供的功能,我们叫方法,方法是面向对象中的一个专有名词。

python语言只是进行引用。

一些以方法形式提供的字符串处理功能:

字符串大小写转换:lower()、upper()、title()、capitalize( )

(1)str.lower(x):返回字符串的副本,将字符串里面的大写字母全部转换为小写字母。

代码如下:

print(str.lower("ABCdef"))

运行界面:

 (2)str.upper(x) 返回字符串的副本,将字符串里面的小写字母全部转换为大写字母。

代码如下:

print(str.upper("ABCdef"))

运行界面:

(3)str.capitalize(x)返回字符串的副本,将字符串里面的第一个字母转换为大写形式。

代码如下:

print(str.capitalize("abcdef"))

 运行界面:

 (4)str.title(x)返回字符串的副本,将字符串中每个单词的首字母转变为大写形式。

代码如下:

print(str.title("hello world,my name is you"))

运行界面:

 字符串分割:split()方法

str.split( sep=none,maxsplit=次数)返回一个列表,由str根据sep被分割的部分组成。

str.split(sep,maxsplit)方法可以按照指定分隔符对字符串进行分割,该方法会返回由风割后的子串组成的列表。

sep:分隔符,默认为空字符。

maxsplit:分割次数,默认值为-1,表示不限制分割次数。

以m为分隔符,分割次数为2的代码如下:

a="The more efforts you make,the more fortune you get"
print(a.split('m',2))#以m作为分割符,分割两次,输出的结果不再包含分割的m,即在前两个m进行分割,第三个m就不分割了。

运行界面: 

以空格为分隔符,分割次数为2的代码如下:

a="The more efforts you make,the more fortune you get"
print(a.split(None,2))#None表示分隔符为空格,也有另一种表达方式,即print(a.split()),即以空格为分隔符。

运行界面:

字符串拼接:join()方法

str.join(iter) join()方法使用指定的字符连接字符串并生成一个新的字符串

代码如下:

a=','
b='The more efforts you make,the more fortune you get'
print(a.join(b))#用变量a定义的,去分割b这个字符串。

运行界面:

字符串替换:replace()方法

replace( )方法实现字符串替换操作,该方法可将当前字符串中的指定子串替换成新的子串,并返回替换后的新字符串。

replace(old,new,count)

old:被替换的旧子串

new:替换旧子串的新子串

count:表示替换旧子串的次数,默认全部替换。

代码如下:

b='The more efforts you make,The more fortune you get'
print(b.replace("The","We",2))#字符串里面有两个The,所以指定替换次数可以设置为两次。即count=2.

运行界面:

字符串对齐:center()、rjust()、ljust()

str.center(width[,fillchar])返回长度为width的字符串,原字符串居中显示

str.rjust(width[,fillchar])返回长度为width的字符串,原字符串右对齐显示

str.ljust(width[,fillchar])返回长度为width的字符串,原字符串左对齐显示

width:表示字符串的长度,

如果参数width指定的长度小于或等于原字符串的长度,那么以上方法会返回原字符串;

参数fillchar表示参数width指定的长度大于原字符串长度时填充的字符,默认为空格。

代码如下:

b='python'
print(b.center(10,'-'))#居中显示
print(b.rjust(10,'='))#右对齐显示
print(b.ljust(10,'+'))#左对齐显示

运行界面:

删除字符串的指定字符:strip()、lstrip()、rstrip()

这些方法可以删除字符串头部或尾部的指定字符。

str.strip(chars)  从字符串str中去掉在其头部和尾部的指定字符

str.rstrip(chars)  从字符串str中去掉在其尾部的指定字符

str.lstrip(chars)  从字符串str中去掉在其头部的指定字符

代码如下:

b='python'
print(b.strip('pn'))#删除字符串头部和尾部的指定字符
print(b.rstrip('n'))#删除字符串尾部的指定字符
print(b.lstrip('p'))#删除字符串头部的指定字符

运行界面:

 字符串的次数:

str.count(sub)  返回字符串sub在str里面出现的次数

代码如下:

b='python'
print(b.count('p'))#返回在字符串b中p出现的次数。

运行界面:

 字符串的查找:find()

str.find(sub[,start[,end]])实现字符串查找操作的find()方法。

sub:指定要查找的字符串

start:开始索引,默认为0

end:结束索引,默认为字符串的长度

代码如下:

b='python'
print(b.find('p'))#查找p是否在字符串b中,如果在,则输出p所在的索引位置,索引位置从0开始,如果不在,则输出-1.

 

运行界面:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一直再追梦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值