Python字符串操作
Python字符串操作
1.求字符串长度
>>> len('Tom')
3
2.打印字符串
>>> s = 'Hello'
>>> for c in s:
print(c)
H
e
l
l
o
#print()函数自带换行
>>> for c in s:
print(c, end=',')
H,e,l,l,o,
3.原生字符串(忽略转义符)
>>> path = r'C:\local\abc.txt'
>>> print(path)
C:\local\abc.txt
>>> path
'C:\\local\\abc.txt'
#在所有转义符前再加上转义符
4.字符与Ascii码转换
>>> ord('a')
97
>>> chr(97)
'a'
5.字符串拼接
>>> 'abc'+'xyz'
'abcxyz'
>>> print('-'*20)
--------------------
>>> 'OK'*5
'OKOKOKOKOK'
>>> 'OK'+5
Traceback (most recent call last):
File "<pyshell#23>", line 1, in <module>
'OK'+5
TypeError: can only concatenate str (not "int") to str
#Python字符串能与数字相乘,表示字符串自身拼接;但不能与数字相加
>>> int('4')+5
9
6.字符串切割
>>> s = 'abcdefg' #最后一位s[4]不显示
>>> s[0:4]
'abcd'
>>> s[-1] #打印字符串的最后一位
'g'
>>> s[len(s)-1]
'g'
>>> s[:]
'abcdefg'
>>> s[::2] #每隔两位取一个字符
'aceg'
>>> s[::-1] #将字符串倒序
'gfedcba'
>>> language = 'C,Java,Python'
>>> li = language.split(',')
>>> li
['C', 'Java', 'Python']
7.更改字符串中某字符
>>> s = 'Hello'
>>> s[1] = 'a' #不能直接更改字符串中某字符
Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
s[1] = 'a'
TypeError: 'str' object does not support item assignment
>>> s.replace('e','a') #只是表达式,显示结果
'Hallo'
>>> s #s指向的字符串还未改变
'Hello'
>>> s = s.replace('e','a') #将s指向一个新的实例
>>> s
'Hallo'
8.使用列表操作字符串
>>> s = 'bing.com'
>>> li = list(s)
>>> li
['b', 'i', 'n', 'g', '.', 'c', 'o', 'm']
>>> li[-1] = 'n'
>>> li
['b', 'i', 'n', 'g', '.', 'c', 'o', 'n']
>>> s = ''.join(li)
>>> s
'bing.con'
>>> s = '_'.join(li)
>>> s
'b_i_n_g_._c_o_n'
9.判断字符串内容
>>> url = 'https://www.python.org'
>>> url.startswith('https://')
True
>>> url.endswith('org')
True
>>> url.find('http')
0
>>> url.find('/')
6
>>> url.find('o') #只返回第一个'o'位置
16
10.格式化字符串
>>> '{}+{}'.format('a', 'b') #不设置指定位置,按默认顺序
'a+b'
>>> '{0}+{1}+{0}'.format('a', 'b') #设置指定位置
'a+b+a'
>>> '{name}:{score}'.format(name='Tom', score=90) #设置参数
'Tom:90'
11.str.isalpha()
如果字符串至少有一个字符并且所有字符都是字母则返回 True,否则返回 False
12.str.lower()
返回将字符串中所有大写字符转换为小写后生成的字符串
str.upper()
返回大写