码迷,mamicode.com
首页 > 编程语言 > 详细

python中字符串相关运算

时间:2020-03-30 00:05:56      阅读:103      评论:0      收藏:0      [点我收藏+]

标签:精确   mic   dex   开头   之间   十进制   odi   二维   换行符   

‘‘‘
字符串的链接
‘‘‘

str6 = " sunck is a"
str7 = "good man"
str8 = str6 + str7
print(str8)

技术图片

 

 

#输出重复字符串

str9 = "good"
str10 = str9 *3
print(str10)

技术图片

 

#访问字符串中的某一个字母
#通过索引下标查找字符,索引从0开始
#格式:字符串名[下标]

str9 = "good"
print(str9[0])

技术图片

 

#截取字符串

str13 = "sunck is a good man!"
#从给定下标除截取到给定下标之前
str15 = str13[6:15]
#从头截取到给定下标之前
str16 = str13[:5]
#从给定下标处开始截取到结尾
str17 = str13[16:]
print("str15 =", str15)
print("str16 =", str16)
print("str17 =", str17)

技术图片

 

# 使用成员运算符

str13 = "sunck is a good man!"
print("good" in str13)
print("good12" in str13)
print("good12" not in str13)

技术图片

 

# 判断是否是闰年 

#能被4整除但不能被100整除  或者能被400整除

year = int(input())
if (year % 4 == 0 and year % 100 == 0) or year % 400 == 0:
    print("是闰年")
else:
    print("不是闰年")

 技术图片

 

 

#格式化输出

num = 10
str19 = "sunck"
f = 10.1267
print("num =",num, "str19 =", str19)
#  %d    %s    %f   占位符
#                               精确到小数点后三位会四舍五入
print("num = %d, str19 = %s, f = %.3f" %(num, str19, f))
print("num = %d, str19 = %s, f = %f" %(num, str19, f))

# \n    换行
print("num = %d\nstr19 = %s\nf = %.3f" %(num, str19, f))

 技术图片

技术图片

 

#   \‘    \"

print("tom is a \‘good\‘ man")
print("tom is a \"good\" man")

 技术图片

 

#如果字符串内有很多换行

print("good\nnice\nhand")
print(‘‘‘
good
nice
hand
‘‘‘)

技术图片

 

‘‘‘
\t    制表符
‘‘‘

print("sunk\tgood")

技术图片

 

#用r表示内部的字符串默认不转义

print("\\\t\\")
print(r"\\\t\\")

技术图片

 

#eval()
#功能:将字符串str当成有效的表达式来求值并返回就算结果

num1 = eval("123")
print(num1)

print(type(num1))

print(eval("12+3"))

技术图片

 

#len(str)
#返回字符串的长度

print(len("sunck is a good man"))

 技术图片

 

 

#lower(str)
#转化字符串中大写字母为小写字母

str20 = "SunCk iS a Good man"
str21 = str20.lower()
print(str21)

 技术图片

 

 

#upper()  z转化字符串中的小写字母为大写字母

str20 = "SunCk iS a Good man"
print(str20.upper())

技术图片

 

#swapcase()  转化字符串中大写字母为小写字母,小写字母为大写字母

str20 = "SunCk iS a Good man"
print(str20.swapcase())

技术图片

 

#capitalize()   首字母为大写,其他小写

str20 = "SunCk iS a Good man"
print(str20.capitalize())

 技术图片

 

#title()    每个单词的首字母大写

str20 = "SunCk iS a Good man"
print(str20.title())

技术图片

 

#center(width,fillchar)  返回一个指定宽度的居中字符串,fillchar为填充的字符串
#center(width[,fillchar])   默认空格填充

str20 = "SunCk iS a Good man"
print(str20.center(40,"*"))

技术图片

 

#ljust(width,fillchar)

#ljust(width[ ,fillchar])
#返回一个指定宽度的左对齐字符串,默认空格填充

str20 = "SunCk iS a Good man"
print(str20.ljust(40,"%"))

技术图片

 

#rjust(width,fillchar)
#rjust(width[ ,fillchar])
#返回一个指定宽度的右对齐字符串,默认空格填充

str20 = "SunCk iS a Good man"
print(str20.rjust(40,"%"))

技术图片

 

#zfill(width)
#返回一个一个长度为width的字符串,原字符串右对齐,前面补0

str20 = "SunCk iS a Good man"
print(str20.zfill(40))

 技术图片

 

#count(str[ ,start][ ,end])
#返回字符串中str出现的次数,可以指定一个范围默认从头到尾

str20 = "SunCk is is is a Good man"
print(str20.count("is",0,len(str20)))

 技术图片

 

#find(str[ ,start][ ,end])
#从左向右检测str字符串是否包含在字符串中,可以指定范围,默认从头到尾,得到的是第一次出现的开始下标,没有返回-1

str20 = "SunCk is is is is a Good man"
print(str20.find("is"))
print(str20.find("aaa"))
print(str20.find("is",8,len(str20)))

 技术图片

 

#rfind(str[ ,start][ ,end])
#从右向左检测str字符串是否包含在字符串中

str20 = "SunCk is is is is a Good man"
print(str20.rfind("man"))
print(str20.rfind("aaa"))
print(str20.rfind("is",8,len(str20)))

技术图片

 

#index(str,start = 0,end = len(str))
#跟find一样,但如果str不存在,会报一个异常

str20 = "SunCk is is is is a Good man"
print(str20.index("is"))

技术图片

 

#rindex(str,start = 0,end = len(str))

#跟rfind一样,但如果str不存在,会报一个异常

str20 = "SunCk is is is is a Good man"
print(str20.rindex("is"))

技术图片

 

#lstrip()   会截掉字符串左侧指定字符,默认为空格

str20 = "    SunCk is is is is a Good man"
print(str20.lstrip())
str20 = "*****SunCk is is is is a Good man"
print(str20.lstrip("*"))

技术图片

 

#rstrip()   会截掉字符串右侧指定字符,默认为空格

str20 = "SunCk is is is is a Good man   "
print(str20.rstrip())
str20 = "SunCk is is is is a Good man*****"
print(str20.rstrip("*"))

技术图片

 

#strip()  截取两边指定字符串

str20 = "******SunCk is is is is a Good man*****"
print(str20.strip("*"))

技术图片

 

#split(str="",num) 以str为分隔符截取字符串,指定num,则截取num个字符串,结果是个二维列表

str = "sunck is*****a     good"
print(str.split("*")) #两个*之间有一个分隔符,截取出一个空值
print(str.split("*",3))

技术图片

 

str = "sunck**is*****a****good"
list = str.split("*")
print(list)
print(list[0][2])

技术图片

 

#统计字符串中单词的个数

str = "sunck**is*****a****good"
list = str.split("*")
print(list)
print(len(list))
count = 0
for i in list:
    if len(i) > 0:   #说明是一个单词
        print(i)
        count += 1
print(count)

技术图片

 

#splitlines(keepends)   安装(‘\r‘, ‘\r\n‘, ‘\n‘)分隔,返回
#keepends可以不写,默认为False,当keepends == True时会保留换行符

str = ‘‘‘sunck is a good man
sunck is a nice man
sunck is handsome man
‘‘‘
print(str.splitlines())

技术图片

 

#join(seq)  以指定的字符串分隔符,将seq中的所有元素组合成一个字符串

list = [‘sunck‘, ‘is‘, ‘a‘,  ‘good‘]
str = "***".join(list)
print(str)

技术图片

 

#max() min()  按照ASCII值比较

str = "sunck is a nice man"
print(max(str))
print("*"+min(str)+"*")

技术图片

 

#replace(oldstr,newstr,count)
#用newstr替换oldstr,默认是全部替换,若指定了count,则只替换前count个

str = "sunck is a nice nice nice man"
str1 = str.replace("nice","good",1)
print(str)
print(str1)

技术图片

  

#创建一个字符串映射表

t1 = str.maketrans("ac", "65")
#a--6   c--5
str1 = "sunck is a good good good man"
str2 = str1.translate(t1)
print(str1)
print(str2)

技术图片

 

#startswith(str, start = 0, end = len(str))
#endswith(str, start=0, eng=len(str))
#在给定范围内,判断是否以给定字符串开头/结尾,若没有指定范围,则默认整个字符串

str = "sunck is a good man"
print(str.startswith("sunck",5, 16 ))
print(str.endswith("man"))

技术图片

 

#编码 encode(encoding="utf-8", errors="strict")
#解码  decode() 注:要与编码时的编码格式一致

str = "sunck is a good man凯"
data1 = str.encode("utf-8")
data2 = data1.decode("utf-8")
print(data1,data2)
data3 = str.encode("utf-8","ignore")   #ignore错误不处理
data4 = data3.decode("gbk", "ignore")
print(data3, data4)

技术图片

 

#isalpha()
#如果字符串中至少有一个字符且左右字符都是字母返回True,否则返回False

str = "sunckisagoodman"
print(str.isalpha())

技术图片

 

#isalpha() 如果字符串中至少有一个字符且所有字符都是字母返回True,否则返回False
#isalnum() 如果字符串中至少有一个字符且所有字符都是字母或数字返回True,否则返回False
#isupper() 如果字符串中至少有一个英文字符且所有英文字符都为大写英文字母返回True,否则返回False
#islower() 如果字符串中至少有一个英文字符且所有英文字符都为小写英文字母返回True,否则返回False

str1 = "s13n"
str2 = "sjak"
str3 = "122"
print(str1.isalpha(), str2.isalpha(), str3.isalpha())
print(str1.isalnum(), str2.isalnum(), str3.isalnum())
print("ABH3".isupper(), "ABHa".isupper(), "ABH**".isupper())
print("zvsd3".islower(), "ABHa".islower(), "dfdx**".islower())

技术图片

 

#istitle()

#如果字符串是标题化的返回True,否则返回False

print("sunck is".istitle(), "Sunck is".istitle(), "Sunck Is".istitle())

技术图片

 

#isdigit()

#如果字符串值只包含数字字符的返回True,否则返回False

print("123".isdigit(), "h23".isdigit())

技术图片

 

#isnumeric()

#如果字符串值只包含数字字符的返回True,否则返回False

print("1323".isnumeric(), "247a".isnumeric())

技术图片

 

#isdecimal()
#如果字符串值只包含十进制字符的返回True,否则返回False

print("1323".isdecimal(), "247a".isdecimal())

技术图片

 

#isspace()
#如果字符串中只包含空格则返回True,否则返回False

print("  ".isspace(), "\t".isspace(), "\n".isspace())

技术图片

 

 

 

 

python中字符串相关运算

标签:精确   mic   dex   开头   之间   十进制   odi   二维   换行符   

原文地址:https://www.cnblogs.com/jicongcong/p/12595998.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!