Python整理之字符串操作
如有字符串 mystr = 'I am learning python string operation python.'
,以下是常见的操作
1、find
语法:
mystr.find(str, start=0, end=len(mystr))
检测 str 是否包含在 mystr中,如果是返回开始的索引值,否则返回-1
实例:
print(mystr.find('Python'))#14
print(mystr.find('Python', 0, 10))#-1
2、rfind
类似于find()
函数 ,不过是从右边开始查找
mystr.rfind(str, start=0,end=len(mystr))
实例:
print(mystr.rfind('python'))#38
print(mystr.rfind('python', 0, 10))#-1
3、index
跟find()方法一样,只不过如果str不在 mystr中会报一个异常.
mystr.index(str, start=0, end=len(mystr))
实例:
print(mystr.index('Python', 0, 10))
异常:
Traceback (most recent call last):
File "i:/Python学习/字符串str.py", line 5, in
print(mystr.index('Python', 0, 10))
ValueError: substring not found
4、rindex
类似于 index(),不过是从右边开始.
mystr.rindex( str, start=0,end=len(mystr))
实例:
print(mystr.rindex('Python', 0, 10))
异常:
Traceback (most recent call last):
File "i:/Python学习/字符串str.py", line 6, in
print(mystr.rindex('Python', 0, 10))
ValueError: substring not found
5、count
返回 str在start和end之间 在 mystr里面出现的次数
mystr.count(str, start=0, end=len(mystr))
实例:
print(mystr.count('on'))#3
6、replace
把 mystr 中的 str1 替换成 str2,如果 count 指定,则替换不超过 count 次.
mystr.replace(str1, str2, mystr.count(str1))
实例:
print(mystr.replace('python', 'Python', mystr.count('python')))
结果:
I am learning Python string operation Python.
7、split
mystr.split(str="", num=string.count(str))
以 str 为分隔符切片 mystr,如果 num 有指定值,则仅分隔 num 个子字符串
实例:
print(mystr.split(' '))
print(mystr.split(' ', 2))
结果:
['I', 'am', 'learning', 'python', 'string', 'operation', 'python.']
['I', 'am', 'learning python string operation python.']
8、capitalize
mystr.capitalize()
把字符串的第一个字符大写
实例:
mystr = 'i am learning python string operation python.'
print(mystr.capitalize())
结果:
I am learning python string operation python.
9、title
mystr.title()
``````python
把字符串的每个单词首字母大写
实例:
```python
print(mystr.title())
结果:
I Am Learning Python String Operation Python.
10、startswith
mystr.startswith(obj)
检查字符串是否是以 obj 开头, 是则返回 True,否则返回 False
实例:
print(mystr.startswith('I'))
print(mystr.startswith('i'))
结果:
True
False
11、endswith
mystr.endswith(obj)
检查字符串是否以obj结束,如果是返回True,否则返回 False
实例:
print(mystr.endswith('python.'))
print(mystr.endswith('Python.'))
结果:
True
False
12、lower
mystr.lower()
转换 mystr 中所有大写字符为小写
实例:
mystr = 'I AM LEARNING PYTHON STRING OPERATION PYTHON.'
print(mystr.lower())
结果:
i am learning python string operation python.
13、upper
mystr.upper()
转换 mystr 中的小写字母为大写
实例:
mystr = 'i am learning python string operation python.'
print(mystr.upper())
结果:
I AM LEARNING PYTHON STRING OPERATION PYTHON.
14、ljust
mystr.ljust(width)
返回一个原字符串左对齐,并使用空格填充至长度 width 的新字符串
实例:
mystr = 'Hello'
print(len(mystr))
print(len(mystr.ljust(10)))
结果:
返回字符串长度可明显看出效果
5
10
15、rjust
mystr.rjust(width)
返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串
实例:
mystr = 'Hello'
print(mystr.rjust(10))
print(len(mystr.rjust(10)))
结果:
Hello
10
16、center
mystr.center(width)
返回一个原字符串居中,并使用空格填充至长度 width 的新字符串
实例:
mystr = 'Hello'
print(mystr.center(25))
结果:
Hello
17、lstrip
mystr.lstrip()
删除 mystr 左边的空白字符
实例:
mystr = ' Hello '
print(mystr.lstrip())
结果:
Hello
18、rstrip
mystr.rstrip()
删除 mystr 字符串末尾的空白字符
实例:
mystr = ' Hello '
print(mystr.rstrip())
结果:
Hello
19、strip
mystr.strip()
删除mystr字符串两端的空白字符
实例:
mystr = ' Hello '
print(mystr.strip())
结果:
Hello
20、partition
mystr.partition(str)
把mystr以str分割成三部分,str前,str和str后
实例:
mystr = 'i am learning python string operation python.'
print(mystr.partition('string'))
结果:
('i am learning python ', 'string', ' operation python.')
21、rpartition
mystr.rpartition(str)
类似于 partition()函数,不过是从右边开始.
实例:
mystr = 'i am learning python string operation string python.'
print(mystr.rpartition('string'))
结果:
('i am learning python string operation ', 'string', ' python.')
22、splitlines
mystr.splitlines()
按照行分隔,返回一个包含各行作为元素的列表
实例:
mystr = 'i am learning python \nstring operation string python.'
print(mystr.splitlines())
结果:
['i am learning python ', 'string operation string python.']
23、isalpha
mystr.isalpha()
如果 mystr 所有字符都是字母 则返回 True,否则返回 False
实例:
mystr = 'Hello'
print(mystr.isalpha())
mystr = '12345'
print(mystr.isalpha())
mystr = 'abc 123'
print(mystr.isalpha())
结果:
True
False
False
24、isdigit
mystr.isdigit()
如果 mystr 只包含数字则返回 True 否则返回 False.
实例:
mystr = 'Hello'
print(mystr.isdigit())
mystr = '12345'
print(mystr.isdigit())
mystr = 'abc 123'
print(mystr.isdigit())
结果:
False
True
False
25、isalnum
mystr.isalnum()
如果 mystr 所有字符都是字母或数字则返回 True,否则返回 False
实例:
mystr = 'Hello'
print(mystr.isalnum())
mystr = '12345'
print(mystr.isalnum())
mystr = 'abc123'
print(mystr.isalnum())
mystr = 'abc 123'
print(mystr.isalnum())
结果:
True
True
True
False
26、isspace
mystr.isspace()
如果 mystr 中只包含空格,则返回 True,否则返回 False.
实例:
mystr = 'Hello'
print(mystr.isspace())
mystr = ''
print(mystr.isspace())
mystr = ' '
print(mystr.isspace())
mystr = 'abc 123'
print(mystr.isalnum())
结果:
False
False
True
False
27、join
mystr.join(str)
mystr 中每个字符后面插入str,构造出一个新的字符串
实例:
str = ' '
li = ['I', 'am', 'learning', 'python', 'string', 'operation', 'python.']
print(str.join(li))
str = '_'
print(str.join(li))
结果:
I am learning python string operation python.
I_am_learning_python_string_operation_python.