双引号或单引号
单引号里放双引号
字符串可以索引位置字符 str[6]
str1="hello python"
str2='我是朱"光伟"'
print(str2)
print(str1[6])
for char in str2:
print(char)
-----------------
D:\Anaconda\python.exe D:/Pycharm/PycharmProjects/python字符串/k01_字符串定义和遍历.py
我是朱"光伟"
p
我
是
朱
"
光
伟
"
Process finished with exit code 0
统计字符串
len(字符串)
字符串.count(字符串)小字符串在大字符串中出现的次数
count不存在是返回值为0
index查询字符串出现的位置
index不存在是会报错
方法 | 说明 |
string.isspace() | 如果string中只包含空格返回ture |
string.isalnum() | 至少有一个字符并且所有字符都是字母或数字则返回ture |
string.isalpha() | 至少有一个字符且所有字符都有字母则返回ture |
string.isdecimal() | 只包含数字返回ture 全角数字 |
string.isdigit() | 只包含数字返回ture 全角数字、(1)、\u00b2 |
string.isnumeric() | 只包含数字返回ture 全角数字、汉字数字 |
string.istitle() | 是标题化的(每个单词首字母大写)返回ture |
string.islower() | 包含至少一个区分大小写的字符,且所有这些(区分大小写的)字符都是小写,返回ture |
string.isupper() | 包含至少一个区分大小写的字符,且所有这些(区分大小写的)字符都是大写,返回ture |
#判断空白字符
space_str=" \t\n\r"
print(space_str.isspace())
#判断字符串中是否只包含数字,这三个不能判断小数
#num_str="1"
#num_str="\u00b2"
num_str="一千零一"
print(num_str.isdecimal())
print(num_str.isdigit())
print(num_str.isnumeric())
方法 | 说明 |
string.startwith(str) | 检查字符串是否是str开头,是则返回ture |
string.endswith(str) | 检查字符串是否是str结束,是则返回ture |
string.find(str,start=0,end=len(string)) | 检测str是否包含在string中,如果start和end指定范围,则检查是否包含在指定给范围内,如果是返回开始的索引值,否则返回-1 |
string.rfind(str,strat=0,end=len(string)) | 类似于find()函数,不过是从右边开始查找 |
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 world"
print(hello_str.startswith("Hello"))#区分大小写
print(hello_str.endswith("world"))
#index同样可查找指定的索引
print(hello_str.find("llo"))#索引从0开始
print(hello_str.find("asdasd"))#没有不报错,返回-1
#替换字符串操作replace,返回新的字符串,不会修改原来的字符串
print(hello_str.replace("world","python"))
print(hello_str)
----------------------
D:\Anaconda\python.exe D:/Pycharm/PycharmProjects/python字符串/k03_查找和替换.py
False
True
2
-1
hello python
hello world
Process finished with exit code 0
方法 | 说明 |
string.capitalize() | 把字符串的第一个字符大写 |
string.title() | 把字符串的每个单词首字母大写 |
string.tower() | 转换string中所有大写字符为小写 |
string.upper() | 转换string中的小写字母为大写 |
string.swapcase() | 翻转string中的大小写 |
方法 | 说明 |
string.ljust(width) | 返回一个原字符串左对齐,并使用空格填充至长度width的新字符串 |
string.rjust(width) | 返回一个原字符串右对齐,并使用空格填充至长度width的新字符串 |
string.center(width) | 返回一个原字符串居中,并使用空格填充至长度width的新字符串 |
#假设:以下内容是从网络上抓取的
#要求:顺序并且居中对齐输出一下内容
poem=["登黄鹤楼",
"王之涣",
"白日依山尽",
"黄河入海流",
"欲穷千里目",
"更上一层楼"]
print(poem)
for poem_str in poem:
print("|%s|"%poem_str.center(10, " "))#可加一个字符
print("|%s|"%poem_str.ljust(10, " "))#左对齐
----------------------------------
D:\Anaconda\python.exe D:/Pycharm/PycharmProjects/python字符串/k04_文本对齐.py
['登黄鹤楼', '王之涣', '白日依山尽', '黄河入海流', '欲穷千里目', '更上一层楼']
| 登黄鹤楼 |
|登黄鹤楼 |
| 王之涣 |
|王之涣 |
| 白日依山尽 |
|白日依山尽 |
| 黄河入海流 |
|黄河入海流 |
| 欲穷千里目 |
|欲穷千里目 |
| 更上一层楼 |
|更上一层楼 |
Process finished with exit code 0
方法 | 说明 |
string.lstrip() | 截掉string左边(开始)的空白字符 |
string.rstrip() | 截掉string右边(末尾)的空白字符 |
string.strip() | 截掉string左右两边的空白字符 |
#假设:以下内容是从网络上抓取的
#要求:顺序并且居中对齐输出一下内容
poem=["\t\n登黄鹤楼",
"王之涣",
"白日依山尽\t\n",
"黄河入海流",
"欲穷千里目",
"更上一层楼"]
print(poem)
for poem_str in poem:
#先使用strip方法去除字符串中的空白字符
#在使用center居中文本
print("|%s|"%poem_str.strip().center(10))#可以.多连,strip不改变原字符串,所以连用去除加居中
方法 | 说明 |
string.partition(str) | 把字符串string分成一个3元素的元组(str前面,str,str后面) |
string.rpartition(str) | 类似partition()函数,不过是从右边开始查找 |
string.split(str=“”,num) | 以str为分隔符切片string,如果num有指定值,则进分隔num+1个字符串,str默认包含‘\r','\t'.'\n'和空格 |
string.splitlines() | 按照(\r,\n,\r\n)分隔,返回一个包含各行作为元素的列表 |
string.join(seq) | 以string作为分隔符,将seq中所有的元素(的字符串表示)合并为一个新的字符串 |
poem_str="\t\n登黄鹤楼\t王之涣\t白日依山尽\t\n黄河入海流\t欲穷千里目\n更上一层楼"
poem_list=poem_str.split()
print(poem_list)
result=" ".join(poem_list)#以空格为分隔符重组列表中的字符串获得新字符串
print(result)
-----------------------------
D:\Anaconda\python.exe D:/Pycharm/PycharmProjects/python字符串/k06_拆分和拼接.py
['登黄鹤楼', '王之涣', '白日依山尽', '黄河入海流', '欲穷千里目', '更上一层楼']
登黄鹤楼 王之涣 白日依山尽 黄河入海流 欲穷千里目 更上一层楼
Process finished with exit code 0
字符串的切片
字符串[开始索引:结束索引:步长]
不包含结束索引
倒序索引 从-1,-2开始
0 | 1 | 2 | 3 | 4 | 5 |
q | w | e | r | t | y |
-6 | -5 | -4 | -3 | -2 | -1 |
str[0:-1]返回qwert
num_str[-1::-1]逆序
num_str[::2]
num_str[::-1]逆序