JackLi07

Python之字符串方法

字符串方法

1.capitalize    句首字母大写(其他转化为小写)

s = "welcome to BeiJing"
print(s.capitalize())  # 句首字母大写(其他转化为小写)
--Welcome to beijing

2.title    全部单词首字母大写(其他转化为小写)

print(s.title())  # 全部单词首字母大写(其他转化为小写,每个单词间需要用特殊字符隔开)
--Welcome To Beijing

3.upper    全部字母大写

print(s.upper())  # 全部大写
--WELCOME TO BEIJING

4.lower    全部字母小写

print(s.lower())  # 全部小写
--welcome to beijing

5.count    计数,统计参数个数

print(s.count("i"))  # 计数,统计参数个数
--2

6.find,index    查找索引

print(s.find("i"))
--13
print(s.index("i"))
--13
#当查找的字符不存在时,find返回-1,而index则会报错

7. str[起始位置:终止位置:方向+步长]    切片

  • 字符串从0开始计数
  • 切片时顾头不顾尾,如str[0:2]表示切到str的第1,2两个字符
  • 步长中,正负代表方向,正是从左往右,负是从右往左;数字代表步长

经典面试题*:

  实现字符串的reverse功能

s = "welcome to BeiJing"
#方法一:
print(s[::-1])

#方法二:
s1 = list(s)
s1.reverse()
ss = "".join(s1)
print(ss)

运行结果:gniJieB ot emoclew,gniJieB ot emoclew

练习:

s = 'Python最NB'
# 获取s字符串中前3个内容
print(s[:3])
# 获取s字符串中第3个内容
print(s[2])
# 获取s字符串中后3个内容
print(s[-3:])
# 获取s字符串中第3个到第8个
print(s[2:8])
# 获取s字符串中第2个到最后一个
print(s[1:])
# 获取s字符串中第1, 3, 5个内容
print(s[:5:2])
# 获取s字符串中第2, 4, 6个内容
print(s[1:6:2])
# 获取s字符串中所有内容
print(s)
# 获取s字符串中第4个到最后一个, 每2个取一个
print(s[3::2])
# 获取s字符串中倒数第5个到最开始, 每3个取一个
print(s[-5::-3])
一些小练习

8. center    居中显示

print(s.center(40, "*"))
--***********welcome to BeiJing***********

#40代表输出的字符串长度,*代表填充字符

9. split    分割

print(s.split())
--['welcome', 'to', 'BeiJing']
print(s.split("g"))  
--['welcome to BeiJin', '']  # 在第一个或最后一个作为分割符时,会单独分出一个空的字符串
print(s.split("x"))
--['welcome to BeiJing']  # 在字符串中没有分割符时,字符串作为一个整体插入列表

s1 = "welcome    to     BeiJing"
--['welcome', 'to', 'BeiJing']  # 在有多个空格时,只按一个处理

10. strip    移除字符串首尾两端的字符

s1 = s.strip("w")
print(s1)
--elcome to BeiJing

11. join 指定字符串拼接

s1 = "_".join(s)
print(s1)
--w_e_l_c_o_m_e_ _t_o_ _B_e_i_J_i_n_g

12. replace  替换

p = "H e l l o W o r l d"
print(p.replace("W", "w"))
--H e l l o w o r l d

print(p.replace(" ", ""))  # 可将字符串内全部空格去掉
--HelloWorld

13. startswith()\endswith()   判断是否以...开头\结尾,返回布尔值

print(s.startswith("w"))
--True

print(s.endswith("e"))
--False

14. is系列

  • isdigit()    判断是否是纯数字
  • isalpha()    判断是否是纯字母
  • isalnum()    判断是否是数字和字母
print(s.isalnum())
--False
print(s.isdigit())
--False
print(s.isalpha())
--False

15. format  格式化输出

#方式一:顺序
p = "我{}你{}"
print(p.format("", "中国"))

#方式二:索引下标
p = "我{1}你{0}"
print(p.format("中国", ""))

#方式三:变量名称
p = "我{verb}你{object_}"
print(p.format(verb="", object_="中国"))

更多格式化输出可参考:https://www.cnblogs.com/JackLi07/p/9832137.html

 

posted @ 2018-10-24 12:37  JackLi07  阅读(266)  评论(0编辑  收藏  举报