01.Python基础-4.字符串
1 字符串初识
- 字符串编码
字符串定义:多个字符(双引号或单引号中的数据)组成
字符串下标 类似
列表list
格式化 就是占位符 最常用%s %d %f等等
转义字符
转义字符 | 描述 |
---|---|
\ (在行尾时) | 续行符 |
\ | 反斜杠符号 |
' | 单引号 |
" | 双引号 |
\n | 换行 |
\t | 横向制表符 |
\r | 回车(一般不单独使用) |
- 运算符
a = 'python'
b = 'hello'
a + b # pythonhello
a*2 # pythonpython
2 字符串的常见方法操作
2.1 查找
string.find(str[, beg=0[, end=len(string)]])
常用
- 检测 str 是否在 string 中
- 如果
beg
和end
指定范围,则检查是否在指定范围内 - 如果是返回开始的索引值,否则返回-1
string.rfind(str[, beg=0[, end=len(string)]])
类似于 find()
函数,不过是从右边开始查找
string.index(str[, beg=0[, end=len(string)]])
类似于 find()
函数,但是找不到报异常
string.rindex(str[, beg=0[, end=len(string)]])
类似于 rfind()
函数,但是找不到报异常
2.2 统计
string.count(str[, beg=0[, end=len(string)]])
- 检测 str 在 string 中出现的次数
- 如果
beg
和end
指定范围,则检查是否在指定范围内
2.3 分隔
string.split(‘str’, num=string.count(str))
- 以 str 为分隔符切片 string
- 如果 num有指定值,则仅分隔 num 个子字符串
s = 'a,b,c'
ls = s.split(',')
print(ls) # ['a', 'b', 'c']
s = 'a,b,c'
ls = s.split(',', 1)
print(ls) # ['a', 'b,c']
string.splitlines([keepends])
- 按照行(
'\r'
,'\r\n'
,'\n'
)分隔,返回一个包含各行作为元素的列表 - 如果参数
keepends
为False
,不包含换行符,如果为True
,则保留换行符。
s = 'aaa\nbbb'
ls = s.splitlines()
print(ls) # ['aaa', 'bbb']
s = 'aaa\nbbb'
ls = s.splitlines(True)
print(ls) # ['aaa\n', 'bbb']
string.partition(str)
- 有点像
find()
和split()
的结合体,从 str 出现的第一个位置起,把 字 符 串 string 分 成 一 个 3 元 素 的 元 组(string_pre_str,str,string_post_str)
- 如果 string 中不包含str 则
string_pre_str == string
string.rpartition(str)
类似于 partition()函数,不过是从右边开始
2.4 判断
string.startswith(obj[, beg=0[,end=len(string)]])
- 检查字符串是否是以 obj 开头,是则返回
True
,否则返回False
- 如果
beg
和end
指定值,则在指定范围内检查
string.endswith(obj[, beg=0[,end=len(string)]])
- 检查字符串是否是以 obj 结尾,是则返回
True
,否则返回False
- 如果
beg
和end
指定值,则在指定范围内检查
- string.isalnum()
- 所有字符都是字母或数字则返回 True,否则返回 False
- string.isalpha()
- 所有字符都是字母则返回 True,否则返回 False
- string.isdigit()
- 所有字符都是数字则返回 True,否则返回 False
- string.isupper()
- 所有字符都是大写则返回 True,否则返回 False
- string.islower()
- 所有字符都是小写则返回 True,否则返回 False
- string.isspace()
- 只包含空格则返回 True,否则返回 False
2.5 大小写
- string.capitalize()
- 把字符串的第一个字符大写
- string.upper()
- 转换 string 中的小写字母为大写
- string.lower()
- 转换 string 中的大写字母为小写
2.6 对齐
- string.ljust(width)
- 返回一个原字符串左对齐,并使用空格填充至长度 width 的新字符串
- string.rjust(width)
- 返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串
- string.center(width)
- 返回一个原字符串居中,并使用空格填充至长度 width 的新字符串
2.7 裁剪
- string.strip([obj])
- 删除 string 字符串前后的的obj,如果不传参数,删除前后空格
- string.lstrip([obj])
- 删除 string 字符串左面的obj,如果不传参数,删除左面空格
- string.rstrip([obj])
- 删除 string 字符串右面的obj,如果不传参数,删除右面空格
2.8 合并
string.join(seq)
- 以 string 作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串
ls = ['a', 'b', 'c']
s1 = '-'
s2 = s1.join(ls) # 'a-b-c'
s = 'a-b-c'
s.split('-') # ['a', 'b', 'c']
2.8 大小写
- string.encode(encoding='UTF-8', errors='strict')
- 以 encoding 指定的编码格式编码 string,
- 如果出错默认报一个ValueError 的异常,除非errors指定的是'ignore'或者'replace'
- bytes.decode(encoding='UTF-8', errors='strict')
- 以 encoding 指定的编码格式解码 string,
- 如果出错默认报一个 ValueError 的异常,除非errors指定的是'ignore' 或者'replace'
01.Python基础-4.字符串的更多相关文章
- Python基础数据类型-字符串(string)
Python基础数据类型-字符串(string) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的每一篇都是Python3.x版 ...
- Python基础(二) —— 字符串、列表、字典等常用操作
一.作用域 对于变量的作用域,执行声明并在内存中存在,该变量就可以在下面的代码中使用. 二.三元运算 result = 值1 if 条件 else 值2 如果条件为真:result = 值1如果条件为 ...
- python基础、字符串和if条件语句,while循环,跳出循环、结束循环
一:Python基础 1.文件后缀名: .py 2.Python2中读中文要在文件头写: -*-coding:utf8-*- 3.input用法 n为变量,代指某一变化的值 n = inpu ...
- Python基础__字符串拼接、格式化输出与复制
上一节介绍了序列的一些基本操作类型,这一节针对字符串的拼接.格式化输出以及复制的等做做详细介绍.一. 字符串的拼接 a = 'I', b = 'love', c = 'Python'. 我们的目的是: ...
- python基础类型—字符串
字符串str 用引号引起开的就是字符串(单引号,双引号,多引号) 1.字符串的索引与切片. 索引即下标,就是字符串组成的元素从第一个开始,初始索引为0以此类推. a = 'ABCDEFGHIJK' p ...
- Python基础二字符串和变量
了解一下Python中的字符串和变量,和Java,c还是有点区别的,别的不多说,上今天学习的代码 Python中没有自增自减这一项,在转义字符那一块,\n,\r\n都是表示回车,但是对于不同的操作系统 ...
- Python基础之字符串和编码
字符串和编码 字符串也是一种数据类型,但是字符串比较特殊的是还有个编码问题. 因为计算机自能处理数字,如果徐娅处理文本,就必须先把文本转换为数字才能处理,最早的计算机子设计时候采用8个比特(bit)作 ...
- python基础知识——字符串详解
大多数人学习的第一门编程语言是C/C++,个人觉得C/C++也许是小白入门的最合适的语言,但是必须承认C/C++确实有的地方难以理解,初学者如果没有正确理解,就可能会在使用指针等变量时候变得越来越困惑 ...
- day 01 python基础
1.计算机历史 2.python历史 宏观: python2和python3的区别: python2 源码不标准,混乱,重复代码过多 python3 统一标准,去除重复代码 3.python环境 ...
随机推荐
- 《coredump问题原理探究》Linux x86版7.7节 set对象
看一下bits/stl_map和bits/stl_set能够看到map和set的定义例如以下: 84 template <typename _Key, typename _Tp, typenam ...
- 性能优化——mysql数据库
一 mysql经常使用命令 1. 打开日志 1) show global variables like "%genera%"; 2)set global general_log=o ...
- angularjs时间轴
1.炫酷的图片是开端啊 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA ...
- GNUPlot绘制曲线
发现gnuplot在mac上编译安装相当方便,在线下为了測试java老堆和lucene索引大小,须要绘制两条线,可是直接点连的线很难看,所以后面使用贝塞尔曲线. 脚本例如以下: #! /usr/loc ...
- C++一些知识难点
什么是"引用"?申明和使用"引用"要注意哪些问题? 答:引用就是某个目标变量的"别名"(alias).相应用的操作与对变量直接操作效果全然同 ...
- Django 介绍、安装配置、基本使用、Django 用户注冊样例
Django介绍 Django 是由 Python 开发的一个免费的开源站点框架.能够用于高速搭建高性能.优雅的站点. DjangoMTV 的思想项目架构图 ...
- Codeforces Beta Round #95 (Div. 2) D. Subway 边双联通+spfa
D. Subway A subway scheme, classic for all Berland cities is represented by a set of n stations co ...
- iOS- "unacceptable content-type: text/plain"等content-type bug解决方式
常常在使用AFN的时候会出现content-type错误,缺少请求类型,比方"unacceptable content-type: text/plain" 解决方法: 1.在网络请 ...
- 【NOIP 2004】 虫食算
[题目链接] https://www.luogu.org/problemnew/show/P1092 [算法] 搜索 + 剪枝 直接搜索显然会超时,考虑剪枝 1 : 优化搜索顺序 2 : 假设我们已经 ...
- ArrayList、Vector和LinkedList的区别
ArrayList.Vector和LinkedList类均在java.util包下,均为可伸缩数组,即可以动态改变长度的数组 ArrayList和Vector都是基于存储元素的Object[] arr ...