python中字符串相关运算

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

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())

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

时间: 2024-10-04 02:18:56

python中字符串相关运算的相关文章

python中字符串的操作方法

python中字符串的操作方法大全 更新时间:2018年06月03日 10:08:51 作者:骏马金龙 我要评论这篇文章主要给大家介绍了关于python中字符串操作方法的相关资料,文中通过示例代码详细介绍了关于python中字符串的大小写转换.isXXX判断.填充.子串搜索.替换.分割.join以及修剪:strip.lstrip和rstrip的相关内容,需要的朋友可以参考下 前言 python中字符串对象提供了很多方法来操作字符串,功能相当丰富.?123 print(dir(str)) [...

python中字符串链接的七种方式

一. str1+str2 string类型 '+'号连接 >>> str1="one" >>> str2="two" >>> str1+str2 'onetwo' >>>注意:该方式性能较差,因为python中字符串是不可变的类型,使用 + 连接两个字符串时会生成一个新的字符串,生成新的字符串就需要重新申请内存,当连续相加的字符串很多时(a+b+c+d+e+f+...) ,效率低下就是必然的了例

Python中字符串查找效率比较

Python中字符串查找方式有多种,常见的有re.match/search or str.find 用一个例子来说明各种方式的效率如下: from timeit import timeit import re def find(string, text): if string.find(text) > -1: pass def re_find(string, text): if re.match(text, string): pass def best_find(string, text): i

Python中字符串的有趣玩法

反转一个字符串 >>> S = 'abcdefghijklmnop' >>> S[::-1] 'ponmlkjihgfedcba' 这种用法叫做three-limit slices 除此之外,还可以使用slice对象,例如 >>> 'spam'[slice(None, None, -1)] >>> unicode码与字符(single-character strings)之间的转换 >>> ord('s') # or

python中字符串拼接

python中字符串拼接的三种方式: 1.使用 '+': 这中方式会在内存中,没使用一次就开辟一个新的空间,不建议使用.当数据庞大时候效率很低.后期有垃圾回收机制来处理没有用的字符串 案例:name = 'jam' name1 = name + 'c'这样内存中会开辟一个空间存放 name2 = name1 + 'h''这样内存中会再开辟一个空间存放 2.字符串格式化的形式:%s,这中方式让内存最多就开辟两个空间来进行存放字符. 案例:name = 'jam' name2 = 'chen' se

Python中字符串的操作

在python中字符串的包围的引号有三种,单引号,双引号,三引号,其中,单引号和双引号完全相同,在python中单引号也可完成转义工作 >>>print('doesn\'t \n it?') doesn't it? 但经常性的,一般使用 单双引号+转义更为普遍 >>>print("doesn't \n it?") doesn't  it? 三引号的使用,三引号(三个单引号或者三个双引号)用来座位注释,文档说明,类描述,用于比较广泛,他可以包含单引号,

Python中字符串的表示

区别于其他语言,python中字符串可以用3中方法表示,且都能被正确编译: 1.'mary' 单引号括起来 2."it's a great day" 双引号括起来 3.''' nice to meet you, my dear friend. '''   三引号括起来 区别: a.单引号和双引号没有什么区别,不过单引号不用按shift,打字稍微快一点.表示字符串的时候,单引号里面可以用双引号,而不用转义字符,反之亦然. b.如果直接用单引号括住单引号,需要转义字符,像这样:'it\'s

Python中的分数运算

Python中的分数运算,在Python标准库fractions中的Fraction对象支持分数运算.具体操作如下: 在windows下,通过cmd进到dos shell,输入python3进入到python shell中. C:\Users\Administrator>python3Python 3.7.0b3 (v3.7.0b3:4e7efa9c6f, Mar 29 2018, 17:46:48) [MSC v.1913 32 bit (Intel)] on win32Type "he

python中字符串的几种表达方式(用什么方式表示字符串)

说明: 今天在学习python的基础的内容,学习在python中如何操作字符串,在此记录下. 主要是python中字符串的几种表达,表示方式. python的几种表达方式 1 使用单引号扩起来字符串 >>> 'my python lession' #以单引号将字符串扩起来 'my python lession' >>> a = 'my python lession' >>> print(a) my python lession 2 使用双引号将字符串扩