专栏首页python3python学习笔记字符串(二)

python学习笔记字符串(二)

字符串类型(string)

字符串是以单引号'或双引号"括起来的任意文本,比如'abc'"123"等等。

请注意,''""本身只是一种表示方式,不是字符串的一部分,因此,字符串'abc'只有abc这3个字符。如果'本身也是一个字符,那就可以用""括起来,比如"I'm OK"包含的字符是I'm,空格,OK这6个字符。

1、创建字符串

b =   'asdasd'

2、字符串操作

a.重复输出字符串

print('Python' * 5)

>>>PythonPythonPythonPythonPython

b.通过索引获取字符串中字符,这里和列表的切片操作是相同的,具体内容见列表

print('hello world'[2:])

>>>llo world

c.in  成员运算符 - 如果字符串中包含给定的字符返回 True

print('rl' in  'hello world')

>>>True

d.%格式字符串

print("she sis a good girl")
print("she sis a %s girl" % 'good')

>>>she is a good girl

>>>she is a good girl

e.字符串拼接a

a = 'zxc'
b = 'asd'
c = 'qwe'
print(a+b+c)

>>>zxcasdqwe

以上方式效率极低,建议用join做字符串拼接

a = 'zxc'
b = 'asd'
c = 'qwe'
print(''.join([a,b,c]))
print('+'.join([a,b,c]))

>>>zxcasdqwe

>>>zxc+asd+qwe

3、字符串内置方法

capitalize把字符串的第一个字符大写,且不会修改原字符串,返回一个新的字符串
a = 'hello world!'
print(a.capitalize())

>>>Hello world!

center返回一个原字符串居中,并使用*填充至长度 20 的新字符串
a = 'asd'
print(a.center(20,'*'))

>>>********asd*********

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

a = 'hello world!'
print(a.count('l'))

>>>3

endswith判断是否以某个内容结尾,返回布尔值

a = 'hello world!'
print(a.endswith('ld!'))

>>>True

startswith判断是否以某个内容开始,返回布尔值

expandtabs(tabsize=8)把字符串中的tab符号转为空格,tab默认空格数是8.

a = 'hello\t worl\td!'
print(a.expandtabs(tabsize=10))

>>>hello     worl      d!

string.find(str, beg=0, end=len(string))检测 str 是否包含在 string 中,如果 beg 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1
a = 'hello world!'
print(a.find('or'))
print(a.find('or',5,9))
print(a.find('or',2,5))

>>>7

>>>7

>>>-1

string.index(str, beg=0, end=len(string))跟find()方法一样,只不过如果str不在 string中会报一个异常.
a = 'hello world!'
print(a.index('or'))
print(a.index('or',5,9))
print(a.index('or',1,3))

>>>7

>>>7

>>>Traceback (most recent call last):

      File "str.py", line 6, in <module>

        print(a.index('or',1,3))

>>>ValueError: substring not found

string.isalnum()如果string所有字符都是字母或数字则返回 True,否则返回 False
a = 'helloworld'
b = '123123'
c = 'python3'
d = 'python 3'
print(a.isalnum())
print(b.isalnum())
print(c.isalnum())
print(d.isalnum())

>>>True

>>>True

>>>True

>>>False

string.isalpha()如果 string 所有字符都是字母则返回 True,否则返回 False
a = 'helloworld'
c = 'python3'
print(a.isalpha())
print(c.isalpha())

>>>True

>>>False

string.isdecimal()如果 string 只包含十进制数字则返回 True 否则返回 False.
string.isdigit()如果 string 只包含数字则返回 True 否则返回 False.
string.islower()如果 string 中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False
string.isnumeric()如果 string 中只包含数字字符,则返回 True,否则返回 False



True: Unicode数字,byte数字(单字节),全角数字(双字节),罗马数字
False: 汉字数字
Error: 无

True: Unicode数字,,全角数字(双字节)
False: 罗马数字,汉字数字
Error: byte数字(单字节)

True: Unicode数字,全角数字(双字节),罗马数字,汉字数字
False: 无
Error: byte数字(单字节)


string.

 string.istitle()如果 string 是标题化的(见 title())则返回 True,否则返回 False

a = 'hello world'
b = 'Hello World'
print(a.istitle())
print(b.istitle())

>>>False

>>>True

string.isupper()如果 string 中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False

string.join(seq)以 string 作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串

a = 'MY GIRL'
b = 'xxxx'
print('+'.join(a))
print('$'.join([a,b]))

>>>M+Y+ +G+I+R+L

>>>MY GIRL$xxxx

string.ljust(width)返回一个原字符串左对齐,并使用空格填充至长度 width 的新字符串

a = 'MY GIRL'
print(a.ljust(20,'-'))

>>>MY GIRL-------------

string.lower()转换 string 中所有大写字符为小写.

string.lstrip()截掉 string 左边的空格

string.maketrans(intab, outtab])用于创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。

a = 'MY GIRL'
print(a.maketrans('x','S'))

>>>{120: 83}

max(str)返回字符串 str 中最大的字母。

min(str)返回字符串 str 中最小的字母。

string.partition(str)有点像 find()和 split()的结合体,从 str 出现的第一个位置起,把 字 符 串 string 分 成 一 个 3 元 素 的 元 组 (string_pre_str,str,string_post_str),如果 string 中不包含str 则 string_pre_str == string.

a = 'MY GIRL!'
print(a.partition('GI'))
print(a.partition('BI'))

>>>('MY ', 'GI', 'RL')

>>>('MY GIRL', '', '')

string.replace(str1, str2,  num=string.count(str1))  把 string 中的 str1 替换成 str2,如果 num 指定,则替换不超过 num 次.

a = 'hello world!'
print(a.replace('l','F',2))
print(a.replace('l','F'))

>>>heFFo world!

>>>heFFo worFd!

string.rfind(str, beg=0,end=len(string) )类似于 find()函数,不过是从右边开始查找.

string.rindex( str, beg=0,end=len(string))类似于 index(),不过是从右边开始.

string.rjust(width)返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串

string.rpartition(str)类似于 partition()函数,不过是从右边开始查找.

string.rstrip()删除 string 字符串末尾的空格.

string.split(str="", num=string.count(str))以 str 为分隔符切片 string,如果 num有指定值,则仅分隔 num 个子字符串

a = 'hello world!'
print(a.split())

>>>['hello', 'world!']

string.splitlines(num=string.count('\n'))按照行分隔,返回一个包含各行作为元素的列表,如果 num 指定则仅切片 num 个行.

a = 'hello world!\nMY GIRL!'
print(a.splitlines())

>>>['hello world!', 'MY GIRL!']

string.startswith(obj, beg=0,end=len(string))检查字符串是否是以 obj 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查.

string.strip([obj])在 string 上执行 lstrip()和 rstrip(),去掉空格包含((包括'\n', '\r', '\t', ' '))

string.swapcase()翻转 string 中的大小写

string.title()返回"标题化"的 string,就是说所有单词都是以大写开始,其余字母均为小写(见 istitle())

string.translate(str, del="")根据 str 给出的表(包含 256 个字符)转换 string 的字符,要过滤掉的字符放到 del 参数中

string.upper()转换 string 中的小写字母为大写

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 生成固定位数含大小写字母符号的密码

    >>> import string >>> dir(string) ['Formatter', 'Template', '_ChainMap', '_Templ...

    py3study
  • python生成随机密码串

       今天修改服务器密码,想来想去不知道设置什么密码比较好,索性设置随机数吧。python当中的random模块可以生成随机数,主要用这个生成随机密码。

    py3study
  • Python的字符串方法

    s.isdigit() -> bool  Return True if all characters in S are digits

    py3study
  • 继承练习之医学院教师类—C++

    汐楓
  • ShareSDK第三方分享与登录遇到的问题

    LeeCen
  • react-native组建wechat

    IT故事会
  • 用java实现简单快速的webservice客户端/数据采集器(支持soap1.1和soap1.2标准,支持utf-8编码)

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    eguid
  • c#中关于string的特性介绍以及注意事项

    string类型在我们实际项目开发中是一个最使用的类型,string是一个引用类型这一点大家都知道,但是在实际使用过程中,大家会发现string和我们常见的引...

    小小许
  • Hive 创建和生成Rcfile 和SequenceFile格式的表

    rcfile格式表需要从原始的textfile 文件格式表导出数据并导入到新建好的rcfile格式表里

    sanmutongzi
  • 对象存储 Node.js SDK cos-nodejs-sdk-v5 Typescript 声明文件

    用到腾讯云对象存储,使用Node.js SDK cos-nodejs-sdk-v5,没有 typescript 的声明文件,自己写了一个。

    苦少

扫码关注云+社区

领取腾讯云代金券