字符串是Python中最常用的数据类型,通常我们使用引号(单引' 或 双引" 或 三引号""")来创建字符串
在python3中,所有的字符串都是Unicode编码。
对于编程而言,大部分时间都是在做字符的处理,例如字符串连接、切割、转换、格式化等等。
# 用不同的引号来创建字符串:
a = u'我是字符串' #我是字符串
b = u"我是字符串" #我还是字符串
c = """我是字符串""" #"""
字符串内置函数:
1.字符连接和切割
join-->以指定的字符串将元组、列表中的所有的元素合并为一个新的字符串。
split-->以指定的分隔符来截取字符串,返回一个list对象
#字符连接和切割
t=('1','2','3','4','5','a','b',"rfg")
#用 - 将t中元素合并成一个新的字符串
str_demo = '-'.join(t)
print(str_demo)
#运行结果:1-2-3-4-5-a-b-rfg
# 将str_demo以-进行切割
str_set=str_demo.split('-')
print(str_set)
#运行结果:['1', '2', '3', '4', '5', 'a', 'b', 'rfg']
# 将t中元素合并成一个新的字符串
str_demo1 = ''.join(t)
print(str_demo1)
#运行结果:12345abrfg
字符串查找和替换--使用函数
find--》find(str, beg=0, end=len(string)),查找str是否包含在字符串中,若指定了beg和end,则在beg和end范围中查找,若找到则返回开始的索引值,否则返回-1
index--》同find方法,不同的是,index若未查找到,抛出一个异常信息,而不是返回-1
rfind--》同find方法,不过rfind是从右边往左边查找
rindex--》同index方法,不过rindex是从右边往左边查找。
repalce--》将字符串中指定的子串替换成目标字符串,如果指定了替换次数,则替换不超过指定的次数
source_str = "it's my book, please show it, wa ka ka, yo yo yo!"
# 从左往右查找yo
print(source_str.find('yo'))
print(source_str.index('yo'))
# 运行结果:40,40
#从右往左查找yo
print(source_str.rfind('yo'))
print(source_str.rindex('yo'))
# 运行结果:46,46
#替换所有的yo
des_str=source_str.replace('yo','ha')
print(des_str)
#运行结果:it's my book, please show it, wa ka ka, ha ha ha!
# 替换两次 yo
des_str1=source_str.replace('yo','ha',2)
print(des_str1)
#运行结果:it's my book, please show it, wa ka ka, ha ha yo!
去字符串前后空格
lstrip--》去除字符串左边的空格
rstrip--》去除字符串右边的空格
strip--》去除字符串左右两边的空格,即把lstrip和rstrip都执行一遍
# 去字符串空格示例
kongge_str=" 我的前 后 和 中 间 都有空格 "
print(kongge_str)
#去掉前面的空格
print(kongge_str.lstrip())
#去掉后面的空格
print(kongge_str.rstrip())
#去掉前后的空格
print(kongge_str.strip())
#去掉字符串中间空格
# (用替换函数把空格替换掉)
zhongjian_str=print(kongge_str.strip().replace(' ',''))
# 运行结果
# 我的前 后 和 中 间 都有空格
# 我的前 后 和 中 间 都有空格
# 我的前 后 和 中 间 都有空格
# 我的前 后 和 中 间 都有空格
# 我的前后和中间都有空格
# 去字符串空格示例
kongge_str=" 我的前 后 和 中 间 都有空格 "
print(kongge_str)
#去掉前面的空格
print(kongge_str.lstrip())
#去掉后面的空格
print(kongge_str.rstrip())
#去掉前后的空格
print(kongge_str.strip())
#去掉字符串中间空格()
# (用替换函数把空格替换掉)
zhongjian_str=print(kongge_str.strip().replace(' ',''))
# 运行结果
# 我的前 后 和 中 间 都有空格
# 我的前 后 和 中 间 都有空格
# 我的前 后 和 中 间 都有空格
# 我的前 后 和 中 间 都有空格
# 我的前后和中间都有空格
判断字符串类型
isalnum--》判断字符串是否由字母或数字组成,是则返回true,否则为false
isalpha--》判断字符串是否都是字母,是则返回true,否则为false
isdigit--》判断字符串是否都是数字,是则返回true,否则为false
islower--》判断字符串是否都是小写,是则返回true,否则为false
isnumeric--》判断字符串是否都是数字,是则返回true,否则为false
isspace--》判断字符串是否都是空格,是则返回true,否则为false
isupper--》判断字符串是否都是大写,是则返回true,否则为false
str1 = "1234567890"
str2 = "abcdefABCDEF"
str3 = "12345abcdeABCDE"
str4 = "abcdef"
str5 = "ABCDEF"
str6 = " "
str7 = ' sfsdf '
# isalnum
print(str3.isalnum())
# isalpha
print(str2.isalpha())
# isdigit
print(str1.isdigit())
# isnumeric
print(str1.isnumeric())
# islower
print(str4.islower())
print(str5.islower())
print(str2.islower())
# isupper
print(str4.islower())
print(str5.islower())
print(str2.isupper())
# isspace
print(str6.isspace())
print(str7.isspace())
运行结果:
True
True
True
True
True
False
False
True
False
False
True
False
https://zhidao.baidu.com/question/496610701775817084.html(isdigit()和isnumeric()的区别)