美文网首页
3章 字符串

3章 字符串

作者: 码上版码 | 来源:发表于2020-09-06 11:15 被阅读0次

本章大纲

字符串定义

拼接

sequence操作

字符串定义

字符串定义:只要成对引号引起来的都叫字符串,引号:单引号,双引号,三引号

变量类型是有对象决定的,右侧对象是什么类型,左侧的变量就是什么类型,比如:a = '100abcd',查看a变量类型:print(type(a),a)

在字符串元素里面没有引号,那么单双引号定义都是一样的

转义符 \ -- \n 换行符,比如a = '100\nab\ncd',查看a变量类型:print(type(a),a)

字符串引号用法:内双外单,内单外双。比如:a = 'abcd"ef"',b = "a1b2c3'd4e5'"

三引号:对象赋值给变量就是字符串,没有赋值给变量就是注释

字符串使用场景

字符串对象

路径:'e:/test.txt'

Url:web_url = 'https://www.baidu.com'

单双引号混合用法:web ui自动化识别元素
# 倒入webdriver模块
from selenium import webdriver
# 浏览器驱动
driver = webdriver.Chrome()
# 定位元素-单双引号混合
driver.find_element_by_xpath('//select[@id="cc_start_time]')
# 正则表达式提取数据-单双引号混合
pages = re.findall('<span class="td">共(.*?)页),到第</span>')

拼接

# 字符串-拼接(同类型字符串才可拼接)
print('name is '+ 'tom') # 两步:先拼接再打印
print('hello\n' * 3) # 打印3遍hello并换行

sequence(序列)操作

字符串的特性 被称为sequence(序列)

一个序列,若干个元素组成(每个元素下面都有相应的下标)

Sequence相同操作

元素 H i J a y
正下标 0 1 2 3 4 5
负下标 -6 -5 -4 -3 -2 -1
# 字符串获取元素--下标获取
str1 = 'abcdefg'
print('长度:------->', len(str1))  # 查看字符串长度
print(str1[0])  # 正下标从 0 开始
print(str1[6])  # 字符串长度-1等于最大下标
print(str1[7])  # 下标越界,报错:IndexError: string index out of range,下标[7]不存在
print(str1[-2])  # 负下标从 -1 开始
# 切片
print(str1[1:4])  # 取下标 1 到 4 的元素,规则:左含右不含
print(str1[-1:-4])  # 取下标 -1 到 -4 的元素

# 获取元素下标
# 获取元素bcd,共两刀
# 第一刀:你需要获取字符串的第一个元素的下标
print(str1.index('b'))  # 查看元素下标
# 第二刀:第一刀下标+你需要获取的字符串长度
print(str1[1:1+3]) # 切片出来的数据还是字符串,切片不改变原来的数据

# 获取前半段,规则:写前取后,写后取前,左含右不含
print(str1[:3])  # 取下标 0 到 3 的元素,规则:写后取前,左含右不含
print(str1[:-4])
# 获取后半段,规则:写前取后,写后取前
print(str1[3:])  # 取下标 3 之后的所有元素,规则:写前取后,左含右不含
print(str1[-4:])
"""
总结:
1-切片使用下标操作
2-切片不影响原数据类型
3-获取数据类型与原数据类型一致
4-左含右不含
5-获取字符串元素操作---非常常见
方案:
    切片--又一边元素是固定格式
    'xxx'.split()--需要有规律
    强大--正则表达式--re模式
"""
# 扩展
# str1[第一刀下标:第二道下标:步长] 步长默认是1 正向连接
print(str1[0:4:1])
# str1[第一刀下标:第二道下标:步长] 步长 = 2 隔一个取值:隔一个取一个
print(str1[0:4:2])
# str1[第一刀下标:第二道下标:步长] 步长 = 3 隔一个取值:隔2个取一个
print(str1[0:4:3])
# str1[第一刀下标:第二道下标:步长] 步长 = 4 隔一个取值:隔3个取一个
print(str1[0:5:4])
# 获取全部元素
print(str1[::])
print(str1[0::])
print(str1[::1])
# 倒序输出
print(str1[::-1])
print(str1[-1::-1])
print(str1[-2:-4:-1])

示例:

比如,日志文件:

# 示例一:负下标获取
11:12:11> 001 enter chatroom, level 2
11:12:16> 003 enter chatroom, level 25
这是一个日志文件
记录游戏中某个人物进入聊天室,并且他的等级是多少
每行记录一个进入的人
前面是时间戳,是固定长度的

我们要把所有进入聊天室的用户id取出来
先要从每行日志字符串中吧用户id抠出来
# 正下标获取
str2 = '11:12:11> 001 enter chatroom, level 2'
print(str2.index('001')) # 001,第一个0的下标是10
print(str2[10:13])

# 示例二:负下标获取
11:12:11> level 2, 005 enter chatroom
11:12:16>  level 25, 007 enter chatroom

我们要把所有进入聊天室的用户id取出来
先要从每行日志字符串中吧用户id抠出来

# 负下标获取
str3 = '11:12:11> level 2, 005 enter chatroom'
print(str3[-18:-15])

相关文章

  • Javascript知识点整合

    字符串 单行字符串: ‘字符串’或“字符串” 多行字符串: `多行字符串` 字符串操作: 字符串连接‘+’号 长度...

  • C++基础字符串

    字符串的构造 字符串特性描述 字符操作 字符串赋值 字符串连接 字符串比较 字符串查找 字符串替换 字符串删除 字...

  • iOS中的NSString与NSMutableString

    字符串的创建 字符串读写 字符串的比较 字符串的搜索 字符串截取 字符串替换 字符串与路径 字符串转换 NSMut...

  • iOS NSString用法总结

    字符串属性 字符串截取 字符串比较 字符串搜索 字符串拼接 字符串基本类型转换 字符串分行,分段 字符串列举(按条...

  • php 字符串常见方法汇总

    字符串拼接 字符串检索 字符串截取 字符串替换 字符串大小写转化 字符串转数组 字符串格式化

  • iOS 字符串截取、iOS 字符串替换、iOS 字符串分隔、iO

    iOS之字符串截取、iOS 字符串替换、iOS字符串分隔、iOS之字符串匹配、截取字符串、匹配字符串、分隔字符串 ...

  • PHP中字符串函数库常用函数解析 -- PHP 学习 (十一)

    常用字符串函数分类: 字符串长度, 字符串查找, 字符串大小写转换, 字符串截取, 字符串 ASCII, 字符串加...

  • Kotlin语言(二):字符串类型

    1、字符串定义 2、字符串删除空格 3、字符串比较 4、字符串切割 5、字符串截取 6、字符串替换 7、字符串模板

  • 字符串扩展

    求字符串大小 字符串解码、转换 字符串截取 字符串汉字处理 字符串 Mac地址 字符串进制转换

  • 2020-09-30字符串

    day8-字符串 字符串的操作 in 和 not in字符串1 in 字符串2 - 判断字符串1是否是字符串...

网友评论

      本文标题:3章 字符串

      本文链接:https://www.haomeiwen.com/subject/leqcektx.html