python-字符串

字符串的定义

字符串就是一串字符,是编程语言中表示文本的数据类型
在python中,可以使用一对双引号或者一对单引号,来定义一个字符串
虽然可以使用"或者’ 用于字符串的转义,但实际开发中:
如果字符串内部需要使用“,可以使用‘来定义字符串
如果字符串内部需要使用‘,可以使用“来定义字符串

索引

使用索引来获取指定位置的字符,索引从0开始

for循环遍历

也可以使用for 循环遍历字符串中的每一个字符

字符串的方法
判断类型
方法 说明
string.isspace() 如果string中只包含空格,则返回True
string.isalnum() 如果string至少有一个字符并且所有自负都是字母或者数字则返回True
string.isalpha() 如果string至少有一个字符并且所有自负都是字母则返回True
string.isdecimal() 如果string只包含数字则返回True,全角数字
string.isdigit() 如果string只包含数字则返回True,全角数字、(1)、\u00b2
string.isnumeric() 如果string只包含数字则返回True,全角数字,汉字数字
string.istitle 如果string是每个单词的首字母大写,则返回True
string.islower() 如果string至少包含一个区大小写的字符,并且所有这些字符都是小写,则返回True
string.isupper() 如果string中包含至少一个区分大小写的字符,并且这些字符都是大写,则返回True
查找和替换
方法 说明
string.startswith(str) 检查字符串是否以str开头,是则返回True
string.endswith(str) 检查字符串是否以str结束,是则返回True
string.find(str,start=0,end=len(string) 检查str是否包含在string中,如果start和end指定范围,则检查是否包含在指定范围内,如果是返回开始的索引,否则返回-1
string.index(str,start=0,end=len(string) 跟find方法类似,不过如果str不再string则报错
string.rindex(str,start=0,end=len(string) 类似于index(),只不过从右边开始
string.replace(old_str,new_str,num=string.count(old) 把string中的old_str替换成new_str,如果num指定,则替换不超过num次
hello_str="hello python"

print(hello_str.startswith("hel"))
print(hello_str.endswith("hon"))
print(hello_str.find("llo"))
print(hello_str.replace("llo","yyy"))

运行结果:注意:原来的字符串没有改变

True
True
2
heyyy python
大小写转换
方法 说明
string.capitalize() 把字符串的第一个字符大些
string.title() 把字符串的每个单词的首字母大写
string.lower() 转换string所有大写字符为小写
string.upper() 转换string的小写字母为大写
string.swapcase() 翻转string中的大小写
文本对齐
方法 说明
string.ljust(width) 返回一个原字符串左对齐,并使用空格填充至长度width的新字符串
string.rjust(width) 返回一个原字符串右对齐,并使用空格填充至长度width的新字符串
string.center(width) 返回一个原字符串居中,并使用空格填充至长度width的新字符串
去除空白字符
方法 说明
string.lstrip() 截掉string左边的空白字符
string.rstrip() 截掉string右边的空白字符
string.strip() 截掉string左右两边的空白字符
poem=["\t\n登黄鹤楼",
        "王之涣",
        "白日依山尽\t\n",
        "黄河入海流",
        "欲穷千里目",
        "更上一层楼"]

for poem_str in poem:
    print("|%s|"%poem_str.strip().center(10," "))

运行结果:

|   登黄鹤楼   |
|   王之涣    |
|  白日依山尽   |
|  黄河入海流   |
|  欲穷千里目   |
|  更上一层楼   |
拆分和连接
方法 说明
string.partition(str) 把字符串string分成一个3元素的元组(str前面,str,str后面)
string.rpartition(str) 类似于partition,不过是从右边开始
string.split(str="",num) 1以str为分隔符拆分string,如果num有指定值,则仅分割num+1个子字符串,str默认包含\r\t\n和空格
string.splitlines() 按照行分割,返回一个包含各行作为元素的列表
string.join(seq) 以string作为分隔符,将seq中的所有元素合并为一个新的字符串
字符串切片

切片方法适用于字符串,列表,元组
切片使用索引值来限定范围,从一个大的字符串切出小的字符串
列表和元组都是有序的集合,都能够通过索引值获取对应的数据
字典是一个无序的集合,是使用键值对保存数据

字符串[开始索引:结束索引:步长]
左开右闭

>>> num_str='0123456789'
>>> num_str[2:6]
'2345'
>>> num_str[2:]
'23456789'
>>> num_str[:6]
'012345'
>>> num_str[:]
'0123456789'
>>> num_str[::2]
'02468'
>>> num_str[1::2]
'13579'
>>> num_str[-1]
'9'
>>> num_str[2:-1]
'2345678'
>>> num_str[-2:]
'89'
>>> num_str[0::-1]
'0'
>>> num_str[-1::-1] #翻转字符串
'9876543210'
>>> 

你可能感兴趣的:(python,python)