【Python中的】字符串特性

前言:

      Python中的字符匹配和字符的搜索和替换等操作在实际生产需求

中有着重要的作用,本篇博客将详细讲解字符串的相关操作。

正文:

一、 字符串的显示

输入格式:

变量名 = '字符串'

示例1:字符串的数入与输出

a = 'hello'
b = 'westos'
c = 'Python'
d = 'Linux'
e = '''
    用户管理系统
    1、添加用户
    2、查看用户
    3、删除用户
'''

print(a)
print(b)
print(c)
print(d)
print(e)

执行结果:
/home/kiosk/PycharmProjects/westos/venv/bin/python /home/kiosk/PycharmProjects/westos/字符特性.py
hello
westos
Python
Linux

    用户管理系统
    1、添加用户
    2、查看用户
    3、删除用户


Process finished with exit code 0

 

二、字符串的特性

1、索引

索引:0 1 2 3 索引值默认从 0 开始

示例1:筛选出指定的单个字符

/home/kiosk/PycharmProjects/westos/venv/bin/python /home/kiosk/PycharmProjects/westos/字符特性.py
hello
westos
Python
Linux

    用户管理系统
    1、添加用户
    2、查看用户
    3、删除用户


Process finished with exit code 0

执行结果:
/home/kiosk/PycharmProjects/westos/venv/bin/python /home/kiosk/PycharmProjects/westos/字符的特性.py
w
e
s
t
o
s

Process finished with exit code 0

 

2、切片

通过切片可以筛选除特定的字符的片段

定义 s = 'hello'

切片的规则: s(start,end,step) 从start 开始到 end -1 结束,步长为step

(1)筛选出字符hello的前两个字母

print(s[0:3])

示例1:

s = 'hello'
print(s[0:3])

输出结果:
/home/kiosk/PycharmProjects/westos/venv/bin/python /home/kiosk/PycharmProjects/westos/字符串的特性2.py
hel

Process finished with exit code 0

(2)筛选出字符hello的前三个字母,步长为2

print((s[0:3:2]))

s = 'hello'
print(s[0:3:2])
执行结果:
/home/kiosk/PycharmProjects/westos/venv/bin/python /home/kiosk/PycharmProjects/westos/字符串的特性2.py
hel
hl

Process finished with exit code 0

(3)显示所有的字符

print(s[:])

s = 'hello'
print(s[:])

执行结果:
/home/kiosk/PycharmProjects/westos/venv/bin/python /home/kiosk/PycharmProjects/westos/字符串的特性2.py
hello

Process finished with exit code 0

(4)显示字符串的前三个字符

print([:3])

s = 'hello'
print(s[:3])

执行结果:
/home/kiosk/PycharmProjects/westos/venv/bin/python /home/kiosk/PycharmProjects/westos/字符串的特性2.py
hel

Process finished with exit code 0

(5)字符的逆序输出

print(s[::-1])

s = 'hello'
print(s[::-1])

执行结果:
/home/kiosk/PycharmProjects/westos/venv/bin/python /home/kiosk/PycharmProjects/westos/字符串的特性2.py
olleh

Process finished with exit code 0

(6)除了第一个字符以外,其他全部输出

print([1:])

s = 'hello'
print(s[1:])
执行结果:
/home/kiosk/PycharmProjects/westos/venv/bin/python /home/kiosk/PycharmProjects/westos/字符串的特性2.py
ello

Process finished with exit code 0

(7)进行字符串的重复

print(s*3)

s = 'hello'
print(s*3)
执行结果:
/home/kiosk/PycharmProjects/westos/venv/bin/python /home/kiosk/PycharmProjects/westos/字符串的特性2.py
hellohellohello

Process finished with exit code 0

(8)字符串的连接

print('hello' + ' ' + 'world')

s = 'hello'
print('hello' + ' ' 'world')
执行结果:
/home/kiosk/PycharmProjects/westos/venv/bin/python /home/kiosk/PycharmProjects/westos/字符串的特性2.py
hello world

Process finished with exit code 0

(9)成员操作符

判断指定字符是否在该字符串中,输出结果为True 或者 False

print('h' in s)

print('p' in s)

s = 'hello'
print('h' in s)
print('p' in s)
执行结果:
/home/kiosk/PycharmProjects/westos/venv/bin/python /home/kiosk/PycharmProjects/westos/字符串的特性2.py
True
False

Process finished with exit code 0

示例:回文数的判断

所谓的回文数,即数字从左到右与数字从右到左边一致

如下回文数: 121 1221 

"""
判断用户输入的数字是否是回文数

题目分析:
1、首先显示出用户输入的字符,
2、将用户输入的字符进行逆序输出
3、判断用户输入的字符串和逆序排列后的字符串是否相同
"""
str1 = str(input('请输入一个数字:'))
str2 = (str1[::-1])
if str1 == str2 :
    print('该数是回文数')
else:
    print('该数不是回文数')

执行结果:
/home/kiosk/PycharmProjects/westos/venv/bin/python /home/kiosk/PycharmProjects/westos/字符串的特性2.py
请输入一个数字:121
该数是回文数

Process finished with exit code 0

三、字符的类型判断

1、判断字符转中每个元素的类型

(1)判断字符的首字母是否大写,其余字母为小写,返回值为True 或 False

这里定义一个字符串: s = 'hello'

格式:  s.istitle()

print(s.istitle())

示例1:

s = 'hello'
s.istitle()
print(s.istitle())

执行结果:
/home/kiosk/PycharmProjects/westos/venv/bin/python /home/kiosk/PycharmProjects/westos/子独的判断.py
False

Process finished with exit code 0

(2)判断字符首字母是否为数字

格式:s.isdigit

print(s.isdigit())

示例1:

s = '123'
s.isdigit()
print(s.isdigit())

执行结果:
/home/kiosk/PycharmProjects/westos/venv/bin/python /home/kiosk/PycharmProjects/westos/子独的判断.py
True

Process finished with exit code 0

(3)进行字符的转换

将字符中所有的字母转换成为大写字母

格式:

 s = 'hello'

s.upper()

print(s.upper())

示例1:

/home/kiosk/PycharmProjects/westos/venv/bin/python /home/kiosk/PycharmProjects/westos/子独的判断.py
True

Process finished with exit code 0

执行结果:
/home/kiosk/PycharmProjects/westos/venv/bin/python /home/kiosk/PycharmProjects/westos/子独的判断.py
HELLO

Process finished with exit code 0

(4)判断字符是否是大写

格式:

 s = 'Hello'

s.isupper()

print(s.isupper())

示例1:

s = 'Hello'
s.isupper()
print(s.isupper())

执行结果:
/home/kiosk/PycharmProjects/westos/venv/bin/python /home/kiosk/PycharmProjects/westos/子独的判断.py
False

Process finished with exit code 0

(5)将字符转换成小写

格式:

 s = 'HELLO'

s.lower()

print(s.lower())

示例1:

s = 'HELLO'
s.lower()
print(s.lower())

执行结果:
/home/kiosk/PycharmProjects/westos/venv/bin/python /home/kiosk/PycharmProjects/westos/子独的判断.py
hello

Process finished with exit code 0

(6)判断字符是否是小写

格式:

 s = 'HELLO'

s.islower()

print(s.islower())

示例1:

s = 'HELLO'
s.islower()
print(s.islower())

执行结果:
/home/kiosk/PycharmProjects/westos/venv/bin/python /home/kiosk/PycharmProjects/westos/子独的判断.py
False

Process finished with exit code 0

(7)判断字符是否为字母或者数字

格式:

s = 'hello123'

s.isalnum()

print(s.isalnum())

示例1:

s = 'hello123'
s.isalnum()
print(s.isalnum())

执行结果:
/home/kiosk/PycharmProjects/westos/venv/bin/python /home/kiosk/PycharmProjects/westos/子独的判断.py
True

Process finished with exit code 0

(8)判断字符串是否为纯字母

格式:

 s = 'hello1'

s.isalpha()

print(s.isalpha())

示例1:

s = 'hello1'
s.isalpha()
print(s.isalpha())

执行结果:
/home/kiosk/PycharmProjects/westos/venv/bin/python /home/kiosk/PycharmProjects/westos/子独的判断.py
False

Process finished with exit code 0

(9)进行字符串类型的判断

格式:

s = 'hello'

isinstance(s,str)

print(isinstance(s,str))

示例1:

s = 'hello'
isinstance(s,str)
print(isinstance(s,str))

执行结果:
/home/kiosk/PycharmProjects/westos/venv/bin/python /home/kiosk/PycharmProjects/westos/子独的判断.py
True

Process finished with exit code 0

 

四、字符串的截去

(1)去掉字符前面和后面的空格

格式:

s = ' hello '

s.strip()

print(s.strip)

示例:

s = ' hello '
s.strip()
print(s.strip())

执行结果:
/home/kiosk/PycharmProjects/westos/venv/bin/python /home/kiosk/PycharmProjects/westos/字符串的截取.py
hello

Process finished with exit code 0

(2)进行空格的指定截取

截去右边的空格

格式:

s = '  hello  '

s.rstrip()

print(s.strip)

示例1:

s = ' hello '
s.rstrip()
print(s.rstrip())

执行结果:
/home/kiosk/PycharmProjects/westos/venv/bin/python /home/kiosk/PycharmProjects/westos/字符串的截取.py
 hello

Process finished with exit code 0

截去左边的空格

格式:

s = '  hello  '

s.lstrip()

print(s.lstrip)

示例1:

s = ' hello '
s.lstrip()
print(s.lstrip())

执行结果:
/home/kiosk/PycharmProjects/westos/venv/bin/python /home/kiosk/PycharmProjects/westos/字符串的截取.py
hello 

Process finished with exit code 0

      

(3)进行字符串的首字母或者尾字母

格式:

s = 'hello'

s.strip('h')

print(s.strip('h'))

print(s.strip('o'))

示例1:

s = 'hello'
s.strip('h')
print(s.strip('h'))
print(s.strip('o'))

执行结果:
/home/kiosk/PycharmProjects/westos/venv/bin/python /home/kiosk/PycharmProjects/westos/字符串的截取.py
ello
hell

Process finished with exit code 0

(4)进行多个字符的截去

格式:

s = 'hello'

s.strip('he')

print(s.strip('he'))

print(s.strip('lo'))

示例1:

s = 'hello'
s.strip('he')
print(s.strip('he'))
print(s.strip('lo'))

执行结果:
/home/kiosk/PycharmProjects/westos/venv/bin/python /home/kiosk/PycharmProjects/westos/字符串的截取.py
llo
he

Process finished with exit code 0

五、字符串的匹配开头和结尾

(1)进行字符串开头的匹配

格式:

name = 'hello world'

if name.startswith('hel')

print('hello')

示例1:

name = 'hello world'
if name.startswith('hell'):
    print('hello')
else:
    print('error')

执行结果:
name = 'hello world'
if name.startswith('hell'):
    print('hello')
else:
    print('error')

(2)进行字符串结尾的匹配

name = 'hello world'

if name.endswith('ld')

print(''world'')

示例1:
 

name = 'hello world'
if name.endswith('ld'):
    print('world')
else:
    print('error')

执行结果:
/home/kiosk/PycharmProjects/westos/venv/bin/python /home/kiosk/PycharmProjects/westos/字符的匹配.py
world

Process finished with exit code 0

五、进行字符串的搜索和替换

1、进行字符串的搜索

格式1:

s = 'hello  helloe world'

print(s.find('hello'))

查找结果返回指定字符串的最小索引

示例1:

s = 'hello helloe world'
print(s.find('hell'))

执行结果:
/home/kiosk/PycharmProjects/westos/venv/bin/python /home/kiosk/PycharmProjects/westos/字符的查找.py
0

Process finished with exit code 0

格式2:

s = 'hello  helloe world'

print(s.rfind('hello'))

查找结果返回指定字符的最大索引

示例1:

s = 'hello helloe world'
print(s.rfind('hell'))

执行结果:
/home/kiosk/PycharmProjects/westos/venv/bin/python /home/kiosk/PycharmProjects/westos/字符的查找.py
6

Process finished with exit code 0

2、进行字符的替换

格式:

s = 'hello world'

print(s.replace('hello','westos'))

示例1:

s = 'hello world'
s.replace('hello','westos')
print(s.replace('hello','westos'))

执行结果:
/home/kiosk/PycharmProjects/westos/venv/bin/python /home/kiosk/PycharmProjects/westos/字符的替换.py
westos world

Process finished with exit code 0

六、进行字符串的对齐

格式:

name = '学生管理系统'

name.center(30)

作用:将指定的字符串输出到指定位置

示例:

s = '学生管理系统'
s.center(30,"*")
print(s.center(30,'*'))

执行结果:
/home/kiosk/PycharmProjects/westos/venv/bin/python /home/kiosk/PycharmProjects/westos/字符串的对其.py
************学生管理系统************

Process finished with exit code 0

七、进行字符串的统计

格式:
name =  'hao hao xue xi'

name.count('ha')

print(name.count('ha'))

示例:

s = 'hao hao xue xi'
s.count('ha')
print(s.count('ha'))

执行结果:
/home/kiosk/PycharmProjects/westos/venv/bin/python /home/kiosk/PycharmProjects/westos/字符统计.py
2

Process finished with exit code 0

八、进行字符串的分离和连接

1、进行字符串的分离

格式:

s = '172.25.254.112'

s1 = s.split('.')            ###确定分割符号

print(s1)

示例1:

s = '172.25.254.112'
s1 = s.split('.')
print(s1)

执行结果:
/home/kiosk/PycharmProjects/westos/venv/bin/python /home/kiosk/PycharmProjects/westos/字符串的分离和连接.py
['172', '25', '254', '112']

Process finished with exit code 0

2、进行字符串的连接

格式:

注意的是:进行字符串的连接时,需要字符串本身是分离的

date = '2019-09-01'

date1 = date.split('-')

print(date1)

print(''.join(date1))

示例:

date = '2019-09-01'
date1 = date.split('-')
print(date1)
print(''.join(date1))

执行结果为:
/home/kiosk/PycharmProjects/westos/venv/bin/python /home/kiosk/PycharmProjects/westos/字符串的分离和连接.py
['2019', '09', '01']
20190901

Process finished with exit code 0

进行字符的练习:

示例1:

"""
变量名是否合法:
1.变量名只能由字母、数字、下划线组成
2.只能以字母或下划线开头

"""

#1.变量名第一个字符是否为字母或者下划线
#2.如果是,继续 --> 4
#3.如果不是,报错 , 退出
#4.依次判断除了第一个字符以外的其他字符
#5.判断是否为字母数字或者下划线

"""
变量名是否合法:
1.变量名只能由字母、数字、下划线组成
2.只能以字母或下划线开头

"""
"""
1.变量名第一个字符是否为字母或者下划线
2.如果是,继续 --> 4
3.如果不是,报错 , 退出
4.依次判断除了第一个字符以外的其他字符
5.判断是否为字母数字或者下划线

题目分析:
1、判断第一个字符是否是数字
    定义输入的字符:name
    根据索引确定找出第一个字母
    根据isintance判断第一个字符是否是数字
2、使用while循环即进行逐次判断
3、输出其他字符,然后进行判断,可以进行编厉
"""
while True:
    name = input('请输入你的命名:')
    first = (name[0])
    others = (name[1:])
    if first.isalpha() or first == '_':
        for i in others:
            if i.isalnum() or i == '_':
                print('命名合格')
                exit()
            else:
                print('命名不合格')
                continue
    else:
      print('命名不合格')
      continue

执行结果:
/home/kiosk/PycharmProjects/westos/venv/bin/python /home/kiosk/PycharmProjects/westos/字符串的练习.py
请输入你的命名:%westps
命名不合格
请输入你的命名:jsfkd
命名合格

Process finished with exit code 0

示例2:

给定一个字符串来代表一个学生的出勤纪录,这个纪录仅包含以
下三个字符:
'A' : Absent,缺勤
'L' : Late,迟到
'P' : Present,到场
如果一个学生的出勤纪录中不超过一个'A'(缺勤)并且不超过两>个连续的'L'(迟到),
那么这个学生会被奖赏。
你需要根据这个学生的出勤纪录判断他是否会被奖赏。

示例 1:
输入: "PPALLP"
输出: True
示例 2:
输入: "PPALLL"
输出: False

"""
给定一个字符串来代表一个学生的出勤纪录,这个纪录仅包含以
下三个字符:
'A' : Absent,缺勤
'L' : Late,迟到
'P' : Present,到场
如果一个学生的出勤纪录中不超过一个'A'(缺勤)并且不超过两>个连续的'L'(迟到),
那么这个学生会被奖赏。
你需要根据这个学生的出勤纪录判断他是否会被奖赏。
示例 1:
输入: "PPALLP"
输出: True
示例 2:
输入: "PPALLL"
输出: False

题目分析:
   1、用户进行输入字符串
   2、对用户输入的字符串进行字符个数的统计
   3、如果该字符串中的 A <= 1,和 LLL<=0
"""
name = input('请输入测定的成绩字符串:')
a = name.count('A')
b = name.count('LLL')
if a<=1 and b <=0:
    print('True')
else:
    print('False')

执行结果:
/home/kiosk/PycharmProjects/westos/venv/bin/python /home/kiosk/PycharmProjects/westos/字符串练习2.py
请输入测定的成绩字符串:PPALLL
False

Process finished with exit code 0

示例3:

小米测试题:

要求输入:  hello xiao mi

结果输出: mi xiao hello

name = 'hello xiao mi'
s1 = name.split(' ')
s2 = s1[::-1]
print(s2)

执行结果:
/home/kiosk/PycharmProjects/westos/venv/bin/python /home/kiosk/PycharmProjects/westos/小米测试题.py
['mi', 'xiao', 'hello']

Process finished with exit code 0

要求进行一句语句输出 mi xiao hello

print(('hello xiao mi'.split(' '))[::-1])

执行结果:
/home/kiosk/PycharmProjects/westos/venv/bin/python /home/kiosk/PycharmProjects/westos/小米测试题.py
['mi', 'xiao', 'hello']

Process finished with exit code 0

示例4、

要求输入
    They are students.
    aeiou
要求输出
    Thy r stdnts.
"""

name = 'They are student'
name1 = 'aeiou'
name2 = name.split(" ")
for i in name2:
    if i == 'They':
        ch1 = i.replace('They','Thy')
    elif i == 'are':
        ch2 = i.replace('are','r')
    elif i == 'student':
        ch3 = i.replace('student','stdnts')
ch4 = ch1 + ' ' + ch2 + ' '  +ch3
print(ch4)

执行结果:
/home/kiosk/PycharmProjects/westos/venv/bin/python /home/kiosk/PycharmProjects/westos/示例3.py
Thy r stdnts

Process finished with exit code 0

猜你喜欢

转载自blog.csdn.net/weixin_43831670/article/details/88869816
今日推荐