字符串与正则表达式基本操作

1、拼接字符串

代码编写:

mot_en = 'Remembrance is a form of meeting. Frgetfulness is a form of freedom.'
mot_cn = '记忆是一种相遇。遗忘是一种自由。'
print(mot_en + '——' + mot_cn)

运行效果:
在这里插入图片描述
代码编写:

str1 = '我今天一共走了'     # 定义字符串
num = 12098                 # 定义一个整数
str2 = '步'                 # 定义字符串
print (str1 + str(num) + str2)  # 对字符串和整数进行拼接

效果图:
在这里插入图片描述


2、计算字符串的长度

代码编写:

str1 = '人生苦短,我用Python!'  # 定义字符串
length = len(str1)               # 计算字符串的长度
print(length)

效果图:
在这里插入图片描述


计算UTF-8编码的字符串的长度
代码编写:

str1 = '人生苦短,我用Python!'  # 定义字符串
length = len(str1.encode())     #计算UTF-8编码的字符串的长度
print(length)

效果图:
在这里插入图片描述

计算GBK编码的字符串的长度
代码编写:

str1 = '人生苦短,我用Python!'        # 定义字符串
length = len(str1.encode('gbk'))     #计算GBK编码的字符串的长度
print(length)

效果图:
在这里插入图片描述


3、截取字符串

代码编写:

str1 = '人生苦短,我用Python!'  # 定义字符串
substr1 = str1[1]                # 截取第2个字符
substr2 = str1[5:]               # 从第6个字符截取
substr3 = str1[:5]               # 从左边开始截取5个字符
substr4 = str1[2:5]              # 截取第3个到第5个字符
print('原字符串:',str1)
print(substr1 + '\n' + substr2 + '\n' + substr3 + '\n' + substr4)

效果图:
在这里插入图片描述


4、分割字符串

代码编写:

str1 = '明 日 学 院 官 网  >>>  www.mingrisoft.com'
print('原字符串:',str1)
list1 = str1.split()             # 采用默认分隔符进行分割
list2 = str1.split('>>>')        # 采用多个字符进行分割
list3 = str1.split('.')          # 采用.号进行分割
list4 = str1.split(' ',4)        # 采用空格进行分割,并且只分割前4个
print(str(list1) + '\n' + str(list2) + '\n' + str(list3) + '\n' + str(list4))
list5 = str1.split('>')             # 采用>进行分割
print(list5)

效果图:
在这里插入图片描述


5、字母大小写的转换

代码编写:

str1 = 'WWW.Mingrisoft.com'
print('原字符串:',str1)
print('新字符串:',str1.lower())  # 转换为全部小写输出

效果图:
在这里插入图片描述

转换为全部大写输出
代码编写:

str1 = 'WWW.Mingrisoft.com'
print('原字符串:',str1)
print('新字符串:',str1.upper())  # 转换为全部大写输出

效果图:
在这里插入图片描述


6、除字符串中空格和特殊字符

除字符串首尾的空格和特殊字符
代码编写:

str1 = ' http://www.mingrisoft.com  \t\n\r'
print('原字符串str1:' + str1 + '。')
print('字符串:' + str1.strip() + '。')       # 去除字符串首尾的空格和特殊字符
str2 = '@明日科技.@.'
print('原字符串str2:' + str2 + '。')
print('字符串:' + str2.strip('@.') + '。')  # 去除字符串首尾的@或者.

效果图:
在这里插入图片描述
去除字符串左侧的空格和制表符
代码编写:

str1 = '\t http://www.mingrisoft.com'
print('原字符串str1:' + str1 + '。')
print('字符串:' + str1.lstrip() + '。')       # 去除字符串左侧的空格和制表符
str2 = '@明日科技'
print('原字符串str2:' + str2 + '。')
print('字符串:' + str2.lstrip('@') + '。')    # 去除字符串左侧的@

效果图:
在这里插入图片描述
去除字符串右侧的空格和制表符
代码编写:

str1 = ' http://www.mingrisoft.com\t '
print('原字符串str1:' + str1 + '。')
print('字符串:' + str1.rstrip() + '。')       # 去除字符串右侧的空格和制表符
str2 = '明日科技,'
print('原字符串str2:' + str2 + '。')
print('字符串:' + str2.rstrip(',') + '。')    # 去除字符串右侧的逗号

效果图:
在这里插入图片描述


7、格式化字符串

代码编写:

template = '编号:%09d\t公司名称: %s \t官网: http://www.%s.com'  # 定义模板
context1 = (7,'百度','baidu')                                         # 定义要转换的内容1
context2 = (8,'明日学院','mingrisoft')                                # 定义要转换的内容2
print(template%context1)                                              # 格式化输出
print(template%context2)                                              # 格式化输出

效果图:
在这里插入图片描述

代码编写:

template = '编号:{:0>9s}\t公司名称: {:s} \t官网: http://www.{:s}.com'  # 定义模板
context1 = template.format('7','百度','baidu')                              # 转换内容1
context2 = template.format('8','明日学院','mingrisoft')                     # 转换内容2
print(context1)                                                      # 输出格式化后的字符串
print(context2)                                                      # 输出格式化后的字符串

效果图:

在这里插入图片描述

代码编写:

import re
pattern = r'mr_\w+'                       # 模式字符串
string = 'MR_SHOP mr_shop'              # 要匹配的字符串
match = re.match(pattern,string,re.I)  # 匹配字符串,不区分大小写
print(match)                              # 输出匹配结果
string = '项目名称MR_SHOP mr_shop'
match = re.match(pattern,string,re.I)  # 匹配字符串,不区分大小写
print(match)     

效果图:
在这里插入图片描述


8、匹配字符串

代码编写:

import re
pattern = r'mr_\w+'                       # 模式字符串
string = 'MR_SHOP mr_shop'              # 要匹配的字符串
match = re.match(pattern,string,re.I)  # 匹配字符串,不区分大小写
print('匹配值的起始位置:',match.start())
print('匹配值的结束位置:',match.end())
print('匹配位置的元组:',match.span())
print('要匹配的字符串:',match.string)
print('匹配数据:',match.group())

效果图:
在这里插入图片描述

代码编写:

import re
pattern = r'mr_\w+'                       # 模式字符串
string = 'MR_SHOP mr_shop'              # 要匹配的字符串
match = re.search(pattern,string,re.I)  # 搜索字符串,不区分大小写
print(match)                              # 输出匹配结果
string = '项目名称MR_SHOP mr_shop'
match = re.search(pattern,string,re.I)  # 搜索字符串,不区分大小写
print(match)                              # 输出匹配结果

效果图:
在这里插入图片描述

代码编写:

import re
pattern = r'mr_\w+'                        # 模式字符串
string = 'MR_SHOP mr_shop'                # 要匹配的字符串
match = re.findall(pattern,string,re.I)  # 搜索字符串,不区分大小写
print(match)                                # 输出匹配结果
string = '项目名称MR_SHOP mr_shop'
match = re.findall(pattern,string)        # 搜索字符串,区分大小写
print(match)                                # 输出匹配结果

效果图:
在这里插入图片描述

代码编写:

import re
pattern = r'[1-9]{1,3}(\.[0-9]{1,3}){3}'      # 模式字符串
str1 = '127.0.0.1 192.168.1.66'                # 要配置的字符串
match = re.findall(pattern,str1)               # 进行模式匹配
print(match)

效果图:
在这里插入图片描述

代码编写:

import re
pattern = r'([1-9]{1,3}(\.[0-9]{1,3}){3})'  # 模式字符串
str1 = '127.0.0.1 192.168.1.66'              # 要配置的字符串
match = re.findall(pattern,str1)             # 进行模式匹配
for item in match:
    print(item[0])

效果图:
在这里插入图片描述


9、替换字符串

代码编写:

import re
pattern = r'1[34578]\d{9}'                       # 定义要替换的模式字符串
string = '中奖号码为:84978981 联系电话为:13611111111'
result = re.sub(pattern,'1XXXXXXXXXX',string)  # 替换字符串
print(result)

效果图:
在这里插入图片描述


10、使用正则表达式分割字符串

代码编写:

import re
pattern = r'[?|&]'                  # 定义分割符
url = 'http://www.mingrisoft.com/login.jsp?username="mr"&pwd="mrsoft"'
result = re.split(pattern,url)     # 分割字符串
print(result)

效果图:
在这里插入图片描述

从正则表达式分割字符串能获取login页面
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值