l = 'hello,mykernel' print(l)
hello,mykernel
说明:
print('l love python'.split()) # split()的()中指定分隔符 # 默认使用空格作为分隔符 # maxsplit=# 可以指定分隔的次数。 print('my name is mykernel'.split('m',maxsplit=1)) #分隔符可以是任意字符串。
['l', 'love', 'python'] ['', 'y name is mykernel']
从右往左分隔。
print('my name is mykernel'.rsplit('m',maxsplit=1)) #当不用maxsplit= 时候,split和rsplit效果一样,但是split效率更高。
['my name is ', 'ykernel']
按行进行分隔,返回分隔的结果,不带换行符。
l = """l love python i am mykernel """ l.splitlines()
['l love python', 'i am mykernel']
partition()总是返回一个三元组,它按传入的分割符分割一次。打印分割符的前半部分,分隔符本身和后半部分。
l = """l love python""" l.partition(' ') #partition() 不能不传入分隔符,只分隔一次,打印内容,为前半部分、分隔符和后半部分.
('l', ' ', 'love python')
小写转大写,upper()方法。
l = """l love python""" l2= l.upper() print(l2)
L LOVE PYTHON
大写转小写,lower()方法。
l2.lower()
'l love python'
首字母转大写,title()和capitalize()方法
l = 'l love python' str2 = l.title() print(l.title()) #做文章的标题,每个字母的首字母大写 print(l.capitalize()) #做正文段落的开始,第一个首字母大写
L Love Python L love python
忽略大小写,casefold()方法
print(str2) print(str2.casefold())
L Love Python l love python
replace() 字符串的替换,只能从左到右的替换。
str = 'i love python' str.replace('love python','am mykernel') #前边是旧的字符串,后边是新的字符串。
'i am mykernel'
可以加上第三参数,控制修改的个数。
str = 'i very very very love python ' str.replace('very','非常',2) #替换2个
'i 非常 非常 very love python '
strip()方法,移除前后的空白(\n,\t,\r)
str = ' mykernel love python \n' print(str) str2 = str.strip() print(str2)
mykernel love python mykernel love python
去掉两端可以匹配到的字符
s = '<str>>' s.strip('<r>')
'st'
填充字符串。
print('mykernel'.ljust(30)) print('mykernel'.rjust(30)) print('mykernel'.center(30)) #一边15个。。。。
mykernel mykernel mykernel
可以指定填充字符,但是不能指定多个字符。
print('mykernel'.ljust(30,'+')) print('mykernel'.rjust(30,'#')) print('mykernel'.center(30,'*')) #一边15个。。。。
mykernel++++++++++++++++++++++ ######################mykernel ***********mykernel***********
说明:需要填充的长度=指定的长度-原字符串长度,如果原字符串为8,用center()指定的长度为9,则只填充左侧。如果指定的宽度小于等于原厂不做任何操作。
find(sub[, start[, end]]) 在指定的区间,从左到右查找,找到返回对应的索引值,没找到返回-1.
rfind(sub[, start[, end]]) 在指定的区间,从右到左查找,找到返回对应的索引值,没找到返回-1.
str = 'i very very very love python ' print(str.find('very')) print(str.find('very',5)) print(str.rfind('very',4)) print(str.rfind('very',-20,-1))
2 7 12 12
index(sub[, start[, end]]) 在指定的区间,从左到右。找到返回对应的索引值,没找到返回ValueError。
rindex(sub[, start[, end]]) 在指定的区间,从右到左。找到返回对应的索引值,没找到返回ValueError。
count(sub[, start[, end]]) 在指定的区间,从左到右,统计子字符串sub出现的次数
str = 'i very very very love python ' print(str.count('very')) print(str.count('very',5)) print(str.count('very',5,11))
3 2 1
len(str) ##len()统计字符串的长度。个数即长度。
29
说明: index()和count()方法的时间复杂的为O(n)
startwith(value,[start,[stop]]) 判断字符是不是以某个为单词开始的,返回true或者false。
str = 'i am mykernel,i very very very love python' print(str.startswith('am')) print(str.startswith('i')) ## 也可以指定范围进行匹配。 print(str.startswith('am',2,20)) #(2,20]
False True True
同startwith endswith(value,[start,[stop]]) 判断字符是不是以某个为单词结束的,返回true或者false。
str = 'i am mykernel,i very very very love python' print(str.endswith('am')) print(str.endswith('python'))
False True
'i'+' love'+' python'
'i love python'
' '.join(['i'+' love'+' python'])
'i love python'
字符串格式化是字符串拼接的一种手段。但是很重要,所以单独列出来。
s = 'i love %s' #%s为格式占位符,然后再其他地方可以将参数传入并替换该占位符。 s%('python',) #将python传入,替换占位符。
'i love python'
说明:一个占位符需要传入一个参数,当传入的参数和占位符个数不匹配的时候会报错。当传入的类型不匹配时会出现“TpyeError”错误。
当占位符是s%时候,隐式的调用了str(),其传入的可以为任意类型;
当占位符是r%时候,隐式的调用了repr()方法。
常见的占位符:
a. format方法可以使用花括号作为占位符,传入的参数将替换花括号。
s = 'i love {}' #{}作为占位符 s.format('python')
'i love python'
b. format方法的参数可以为多个,如果不在括号里指定其位置一一对应引入。
s ='i love {}, i am {}' s.format('python','mykernel') #按照位置传入
'i love python, i am mykernel'
c. format方法可以在花括号里填入位置数字,其后的参数按照位置引入,从0号位置开始
s ='i love {1}, i am {0}' s.format('python','mykernel')
'i love mykernel, i am python'
同一个位置的参数可以引入多次。
s ='i love {0}, i am {0}' s.format('python','mykernel')
'i love python, i am python'
d. format方法可以用字符作为占位符的标志,方便识别。
'i love {language},i am {name}'.format(language='python',name='mykernel')
'i love python,i am mykernel'
e. format方法的占位符可以混用,但是位置参数必须放在最前。
'my name is {0},i love {language},i am {age}'.format('mykernel',language='pyrhon',age=18)
'my name is mykernel,i love pyrhon,i am 18'
说明1:
说明2:
本文作者:mykernel
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!