字符串操作

Posted stuwu79

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符串操作相关的知识,希望对你有一定的参考价值。

对字符串的操作

#String 内容

a = "Let‘s go"

乘法操作:

  print(‘hellow‘*2)

通过索引获得字符串中字符,这里和列表的切片操作是相同的,具体内容见列表:

  print(‘hellow woeld‘[2:])从位置2取到最后

成员运算符操作,字符中包含给定字符则返回True:

print(‘e2l‘ in ‘hello‘)       存在返回True 不在返回False

例如:

print(123 in [12,123,1111])

结果:True

 

格式化字符串:

  print(‘alex is a good teacher‘)

  print(‘%s is a good teacher‘%‘alex‘)

字符串的拼接:

  a=‘123‘

  b=‘456‘

  c = a+b

  print(c)

结果:

123456

 

拼接:join方法

a=‘123‘

b=‘abc‘

c=‘000‘

d = ‘#####‘.join([a,b,c])

结果:

123####abc####000

 

python内置方法:

 1 #_auther_="stuwu79"
 2 #date:2019/9/27
 3 
 4 st = hello kitty name is age
 5 st.count("l")#计算‘l‘个数
 6 st.capitalize()#整个字符串首字母大写
 7 st.center(50,-)#(居中)打印50个字符,本身字符串在中间,剩下的两边补上‘-‘
 8 st.rjust(50,"*")
 9 st.ljust(50,"*")#只在左,其他补齐*
10 
11 st.encode()#编码问题
12 
13 
14 st.endswith("y")#判断以什么结尾。正确给True,错误给False
15 st.startswith("h")#判断以什么开头
16 st.expandtabs(tabsize=20)#在字符串中间放\t设定插入空格数
17 
18 st.find(l)#查找第一个元素在字符串的位置并且返回(空格也算位置)
19 st.index(t)#找不到就报错(给 -1)
20 
21 st.format(name = alex,age = 37)#格式化输出的方式
22 st.format_map(name:alex,age:22)#意义相同,方式不同
23 
24 abc456.isalnum()      #不是特殊字符都给True
25 AF00.isdecimal()      #判断是不是10进制
26 
27 12121212.isdigit()    #判断是不是整型
28 121233.isnumeric()    #一样的
29 
30 1121324.isidentifier()#判断是不是非法变量(根据变量命名规则)
31 
32 Abc.islower()#判断是否是全小写(全大写)
33 Abc.isupper()
34 
35     e.isspace()#判断有没有空格
36 adasda.istitle()#判断是不是标题(每个单词首字母大写)
37 adasdad.lower()#所有大写变小写
38 adasda.upper()
39 adasda.swapcase()#翻转,大写变小写。小写变大写
40 
41      asda\n.strip()#前后的空格,换行符全去掉
42          asda\n.lstrip()#只去除左边的
43          asda\n.rstrip()#只去除右边的
44 
45 My title title.replace(itle,lesson,1)#替换,某些内容替换成另一个内容可以控制替换几次
46 My title title.rfind(t)#从右向左找
47 My title title.split( )#以“ ”为分割对象对字符串进行分割(将字符串分割成列表)
48 My title title.title() #每个单词首字母大
49 
50 
51 #特别重要的字符串方法:
52 
53 
54 st.count("l")#计算‘l‘个数
55 st.startswith("h")#判断以什么开头
56 st.find(l)#查找第一个元素在字符串的位置并且返回(空格也算位置)
57 
58 
59 st.format(name = alex,age = 37)#格式化输出的方式
60 st.format_map(name:alex,age:22)#意义相同,方式不同
61 
62 
63      asda\n.strip()#前后的空格,换行符全去掉
64          asda\n.lstrip()#只去除左边的
65          asda\n.rstrip()#只去除右边的
66 
67 My title title.split( )#以“ ”为分割对象对字符串进行分割(将字符串分割成列表)
68 
69 My title title.replace(itle,lesson,1)#替换,某些内容替换成另一个内容可以控制替换几次

 

三级菜单的实现:

本次实现重复代码较多:

  1 #_auther_="stuwu79"
  2 #date:2019/9/27
  3 #要求:可以进入所有层
  4 #可以退出或者返回上一层
  5 menu = 
  6     北京:
  7         朝阳:
  8             国贸:
  9                 CICC:,
 10                 HP:,
 11                 CCTV:,
 12                 ,
 13             望京:
 14                 陌陌:,
 15                 奔驰:,
 16                 360:,
 17                 ,
 18             三里屯:
 19                 优衣库:,
 20                 apple:,
 21                 ,
 22         ,
 23         昌平:
 24             沙河:
 25                 老男孩:,
 26                 阿泰包子:,
 27                 ,
 28             天通苑:
 29                 链家:,
 30                 我爱我家:,
 31                 ,
 32             回龙观:,
 33         ,
 34         海淀:
 35             五道口:
 36                 "谷歌":,
 37                 "网易":,
 38                 "Sohu":,
 39                 "快手":,
 40                 ,
 41             中关村: 
 42                 "youku": ,
 43                 "iqiyi": ,
 44                 "汽车之家": ,
 45                 "新东方": ,
 46                 "QQ": ,
 47                 ,
 48         ,
 49     ,
 50     上海:
 51         浦东:
 52             "陆家嘴":
 53                 "CICC":,
 54                 "高盛":,
 55                 "摩根":,
 56             ,
 57             "外滩": ,
 58         ,
 59         闵行:,
 60         静安:,
 61     ,
 62     山东:
 63         "济南":,
 64         "德州":
 65             "乐陵":
 66                 "丁务镇":,
 67                 "居然镇":,
 68             ,
 69             "平原":,
 70         ,
 71         "青岛":,
 72     ,
 73 
 74 
 75 back_flag = False
 76 exit_flag = False
 77 
 78 while not back_flag and not exit_flag:
 79     for key in menu :
 80         print(key)
 81     choice = input("1>>:").strip()
 82     if choice == "q":
 83         exit_flag = True
 84     if choice in menu:
 85         while not back_flag and not exit_flag:#让程序停在第二层
 86             for key2 in menu[choice]:
 87                 print(key2)
 88             choice2 = input("2>>:").strip()
 89             if choice2 == "b":
 90                 back_flag = True
 91             if choice2 == "q":
 92                 exit_flag = True
 93             if choice2 in menu[choice]:
 94                 while not back_flag and not exit_flag:
 95                     for key3 in menu[choice][choice2]:
 96                         print(key3)
 97                     choice3 = input("3>>:").strip()
 98                     if choice3 == "b":
 99                         back_flag = True
100                     if choice3 == "q":
101                         exit_flag = True
102                     if choice3 in menu[choice][choice2]:
103                         while not back_flag and not exit_flag:
104                             for key4 in menu[choice][choice2][choice3]:
105                                 print(key4)
106                             choice4 = input("4>>:").strip()
107                             print("last level")
108                             if choice4 =="b":
109                                 back_flag = True
110                             if choice4 == "q":
111                                 exit_flag = True
112                         else:
113                             back_flag = False
114                 else:
115                     back_flag = False
116 
117         else:
118             back_flag = False

修改版本:

 

#_auther_="stuwu79"
#date:2019/9/27
#要求:可以进入所有层
#可以退出或者返回上一层
menu =
北京:
朝阳:
国贸:
‘CICC‘:,
‘HP‘:,
‘CCTV‘:,
,
望京:
陌陌:,
奔驰:,
‘360‘:,
,
三里屯:
优衣库:,
‘apple‘:,
,
,
昌平:
沙河:
老男孩:,
阿泰包子:,
,
天通苑:
链家:,
我爱我家:,
,
回龙观:,
,
海淀:
五道口:
"谷歌":,
"网易":,
"Sohu":,
"快手":,
,
中关村:
"youku": ,
"iqiyi": ,
"汽车之家": ,
"新东方": ,
"QQ": ,
,
,
,
上海:
浦东:
"陆家嘴":
"CICC":,
"高盛":,
"摩根":,
,
"外滩": ,
,
闵行:,
静安:,
,
山东:
"济南":,
"德州":
"乐陵":
"丁务镇":,
"居然镇":,
,
"平原":,
,
"青岛":,
,


back_flag = False
exit_flag = False

while not back_flag and not exit_flag:
for key in menu :
print(key)
choice = input("1>>:").strip()
if choice == "q":
exit_flag = True
if choice in menu:
while not back_flag and not exit_flag:#让程序停在第二层
for key2 in menu[choice]:
print(key2)
choice2 = input("2>>:").strip()
if choice2 == "b":
back_flag = True
if choice2 == "q":
exit_flag = True
if choice2 in menu[choice]:
while not back_flag and not exit_flag:
for key3 in menu[choice][choice2]:
print(key3)
choice3 = input("3>>:").strip()
if choice3 == "b":
back_flag = True
if choice3 == "q":
exit_flag = True
if choice3 in menu[choice][choice2]:
while not back_flag and not exit_flag:
for key4 in menu[choice][choice2][choice3]:
print(key4)
choice4 = input("4>>:").strip()
print("last level")
if choice4 =="b":
back_flag = True
if choice4 == "q":
exit_flag = True
else:
back_flag = False
else:
back_flag = False

else:
back_flag = False

以上是关于字符串操作的主要内容,如果未能解决你的问题,请参考以下文章

python基础之 列表元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码

RedisRedis 字符串数据操作 ① ( 访问字符串值数据 | 操作数据库中的字符串数据 | 数字数据操作 | 原子操作 )

Java学习之IO流(其他操作流 操作基本数据类型操作字节数组操作字符数组操作字符串)

C 语言字符串拷贝 ( 优化指针操作 )

31. Python redis的字符串操作 list操作 set操作

字符串的操作以及格式化的操作