1. 去掉字符串中所有的空格
>>> ss = " 123 "
>>> ss.strip()
'123'
2. 获取字符串中汉字的个数
s =input("请输入字符串:")
a = 0
for i in s:
if i>= u'\u4e00' and i <= u'\u9fa5': #\u4E00 ~ \u9FFF 中文字符
a = a+1
print("汉字的个数:", a)
请输入字符串:冲国人
汉字的个数: 3
3. 将字母全部转换为大写和小写
>>> s = 'one Go one go'
>>> print(s)
one Go one go
>>> print(s.upper()) #转化为大写
ONE GO ONE GO
>>> print(s.lower()) #转化为小写
one go one go
4. 根据标点符号对字符串进行分行
>>> s = 'ooo olei olei,go go go'
>>> print(s)
ooo olei olei,go go go
>>> a = s.split(',') #检测到 , 进行切割
>>> for i in a:
... print(i)
...
ooo olei olei
go go go
5. 去掉字符串数组中每个字符串的空格(循环)
>>> s = 'wc op!'
>>> s
'wc op!'
>>> for i in a:
... print(s.replace(" ",""))
...
wcop!
wcop!
>>>
6. 随意输入心中想到的一个书名,然后输出它的字符串长度(len属性)
>>> a = str(input("请输入书名:"))
请输入书名:三体
>>> print("字符串长度为",len(a))
字符串长度为 2
7. 接收用户输入的字符串,将其中的字符进行排序,并以逆序输出,例如:acdefb - abcdeffedcba
>>> s = str(input("请输入字符串"))
请输入字符串342719bacfe
>>> l = list(s)
>>> l
['3', '4', '2', '7', '1', '9', 'b', 'a', 'c', 'f', 'e']
>>> l.sort() #进行排序,默认升序
>>> l
['1', '2', '3', '4', '7', '9', 'a', 'b', 'c', 'e', 'f']
>>> l.reverse() #将列表元素顺序进行翻转
>>> l
['f', 'e', 'c', 'b', 'a', '9', '7', '4', '3', '2', '1']
>>> s = "".join(l) #按照特定的格式将一个可迭代的对象拼接成字符串,将其中的空格去掉
>>> s
'fecba974321'
8. 用户输入一句英文,将其中的单词以反序输出 例如:hello c sharp --- sharp c hello
>>> s = input("请输入一句英文:").split(" ") #split去掉空格以免报错
请输入一句英文:hello world
>>> s
['hello', 'world']
>>> s.reverse() #翻转元素
>>> s = " ".join(s)
>>> s
'world hello'
9. 用户输入一句话,找出所有”呵“的位置
>>> s = input("请输入呵:")
请输入呵:呵呵呵啊
>>> a = 0
>>> for i in s:
... if i == "呵":
... print(a)
... a += 1
...
0
1
2
10. 有个字符串数组,存储了10个书名,书名有长有短,现在将他们统一处理,若长度大于10,则 截取长度为8的子串,将统一处理后的结果输出
>>> l = ["没有共产党就没有新中国","党啊,亲爱的妈妈","红楼梦","毛泽东选集","三国演义","水浒传","西游记","我の奋斗","爱丽丝漫游奇境","伊索寓言"]
>>> for i in range(0,len(l)):
... a = l[i]
... if len(a) > 10:
... a = a[:8] #切片,切除7之后的字符
... l[i] = a
...
>>> print(l)
['没有共产党就没有', '党啊,亲爱的妈妈', '红楼梦', '毛泽东选集', '三国演义', '水浒传', '西游记', '我の奋斗', '爱丽丝漫游奇境', '伊索寓言']
11. 用户输入一句话,找出所有”呵呵“的位置
>>> s = input("请输入呵:")
请输入呵:呵呵啊啊呵呵哈哈呵呵
>>> for i in range(0,len(s)):
... if s[i] == "呵" and s[i+1] == "呵":
... print("呵呵在%s的位置"%i)
...
呵呵在0的位置
呵呵在4的位置
呵呵在8的位置
12. 如何判断一个字符串是否是另一个字符串的子串
>>> a = input("第一个字符串:")
第一个字符串:12233456
>>> b = input("第二个字符串:")
第二个字符串:3456
>>> if a in b:
... print("字符串一是字符串二的子串")
... elif b in a:
... print("字符串二是字符串一的子串")
... else:
... print("都不是")
...
字符串二是字符串一的子串
13. 如何验证一个字符串中的每一个字符均在另一个字符串中出现
a = input("第一个字符串:")
b = input("第二个字符串:")
flag = "true"
if len(a) < len(b):
for i in a:
index = 0
for j in b:
index += 1
if i == j:
break
if index == len(b):
flag = "false"
elif len(b) <= len(a):
for i in b:
index = 0
for j in a:
index += 1
if i == j:
break
if index == len(a):
flag = "false"
if flag == "true":
print("一个字符串中的每一个字符均在另一个字符串中出现")
else:
print("一个字符串中的每一个字符没有都在另一个字符串中出现")
请输入第一个字符串:abcdef
请输入第一个字符串:bcdef
一个字符串中的每一个字符均在另一个字符串中出现
14. 如何生成无数字的全字母的字符串
>>> import string
>>> import random
>>> for i in range(0,random.randint(1,10)):
... print(random.choice(string.ascii_letters),end="") #string.ascii_letters 所有字母
...
wMWqcmHg
15. 如何随机生成带数字和字母的字符串
>>> import random
>>> import string
>>> random_str = ''.join(random.sample(string.ascii_letters + string.digits, 20)) #random.sample生成不重复的随机数
>>> print(random_str)
ZRiaEJShlndvO5fDrGg0
16. 如何判定一个字符串中既有数字又有字母
>>> s = input("请输入一个字符串:")
请输入一个字符串:123456
>>> if (s.isdigit() and not s.isalnum()) and not s.isalpha(): #not与逻辑判断句if连用,代表not后面的表达式为False的时候,执行冒号后面的语句
... print("既有数字也有字母")
... else:
... print("不是既有数字也有字母")
...
不是既有数字也有字母
...
请输入一个字符串:a123456
既有数字也有字母