Python 自学(五) 之字符串及正则表达式

目录

[1. 字符串的分割合并 split() join() P132](#1. 字符串的分割合并 split() join() P132)

[2. 字符串的检索 count() find() index() startswith() endswith() P134](#2. 字符串的检索 count() find() index() startswith() endswith() P134)

[3. 去除空格和特殊字符 strip() lstrip() rstrip() P139](#3. 去除空格和特殊字符 strip() lstrip() rstrip() P139)

[4. 格式化字符串 format() P142](#4. 格式化字符串 format() P142)

[5. 字符串编码转换 encode() decode() P145](#5. 字符串编码转换 encode() decode() P145)

[6. python的正则表达式 P146](#6. python的正则表达式 P146)

[7. 使用re模块操作正则表达式 match() search() findall() P150](#7. 使用re模块操作正则表达式 match() search() findall() P150)

[8. 替换和分割字符串 sub() split() P155](#8. 替换和分割字符串 sub() split() P155)


1. 字符串的分割合并 split() join() P132

str.split(sep , maxsplit) // 把字符串按照分隔符sep 切分为字符串的列表

strnew = string.join(iterable) // 把字符串列表iterable按照分隔符string合并成 // 新的字符串


2. 字符串的检索 count() find() index() startswith() endswith() P134

count() // 检索 指定字符串 在另一字符串里出现的次数;不存在,返回0

find() // 检索 是否包含指定的子字符串;存在则返回首个位置的索引 // 不存在则返回 -1

index() // 类似于find(), 但不存在则抛出异常

startswith() // 是否以指定字符串开头,返回True False

endswith() // 是否以指定字符串结尾,返回True False


3. 去除空格和特殊字符 strip() lstrip() rstrip() P139

strip() // 去除字符串左右两侧的空格和特殊字符

lstrip() // 去除字符串左侧的空格和特殊字符

rstrip() // 去除字符串右侧的空格和特殊字符


4. 格式化字符串 format() P142

基本格式:

template.format(args) // template 想要的显示样式,args 要转换的项

格式化字符请参考 P143

整数输出类型:

b:以二进制格式输出

c:将整数转换成对应的 unicode 字符

d:以十进制输出(默认选项)

o:以八进制输出

x:以十六进制小写输出

X:以十六进制大写输出

n:与 d 相同,但使用当前环境的分隔符来分隔每3位数字

十进制浮点数输出类型:

e:指数标记;使用科学计数法输出,用e来表示指数部分,默认 precision 为6

E:与 e 相同,但使用大写 E 来表示指数部分

f:以定点形式输出数值,默认 precision 为6

F:与 f 相同

g:通用格式;对于给定的 precision p >= 1,取数值的p位有效数字,并以定点或科学计数法输出(默认选项)

G:通用格式;与 g 相同,当数值过大时使用 E 来表示指数部分

n:与 g 相同,但使用当前环境的分隔符来分隔每3位数字

%:百分比标记;使用百分比的形式输出数值,同时设定 f 标记


5. 字符串编码转换 encode() decode() P145

encode() // 把 str 类型转换为 bytes 字节类型

decode() // 把 bytes 类型转换为 str 字节类型


6. python的正则表达式 P146

|------------|-----------------------------|
| 符号 | 说明 |
| ^ | 行的开始 |
| $ | 行的结尾 |
| . | 匹配除 换行符 以外的任意字符 |
| \w | 匹配字母,数字,下划线或汉字 |
| \W | 匹配除 字母,数字,下划线或汉字 以外的字符 |
| \s | 匹配单个的空白符(包括tab和换行) |
| \S | 匹配 除 单个的空白符(包括tab和换行) 以外的字符 |
| \b | 匹配单词的开始或结束 |
| \d | 匹配数字 |
| ? | 匹配 前面的字符 0次或1次 |
| + | 匹配 前面的字符 1次或多次 |
| * | 匹配 前面的字符 0次或多次 |
| {n} | 匹配 前面的字符n次 |
| {n,} | 匹配 前面的字符最少n次 |
| {n,m} | 匹配 前面的字符最少n次,最多m次 |
| [^] | 排除字符,即取反 |
| | | 或 |
| \ | 转义字符 |
| r' ' | 原生字符串 |


7. 使用re模块操作正则表达式 match() search() findall() P150

match(pattern, string) // 从字符串的开始处进行匹配,

// pattern 正则表达式形式的模式字符串,string待匹配字符串

// 匹配成功则返回match对象,否则返回None

search(pattern, string) // 在整个字符串中搜索第一个匹配的值

// pattern 正则表达式形式的模式字符串,string待匹配字符串

// 匹配成功则返回match对象,否则返回None

findall(pattern, string) // 在整个字符串中搜索所有符合正则表达式的字符串, // 并以列表的形式返回


8. 替换和分割字符串 sub() split() P155

sub(pattern, repl, string) // 字符串替换。

// pattern 正则表达式形式的模式字符串,string待匹配字符串

// repl 替换进去的字符串

split(pattern, string) // 根据正则表达式分割字符串,并以列表形式返回

// pattern 正则表达式形式的模式字符串,string待匹配字符串

相关推荐
htj101 天前
C# 使用正则表达式
正则表达式·c#
ZZZKKKRTSAE1 天前
快速上手Linux全局搜索正则表达式(grep)
linux·服务器·正则表达式
Kusunoki_D2 天前
Python-正则表达式(re 模块)
python·正则表达式
数字芯片实验室2 天前
正则表达式的前世今生
正则表达式
Lenyiin3 天前
《 C++ 点滴漫谈: 四十 》文本的艺术:C++ 正则表达式的高效应用之道
c++·正则表达式·lenyiin
AA-代码批发V哥3 天前
Java正则表达式完全指南
java·正则表达式
coding随想4 天前
JavaScript中的正则表达式:文本处理的瑞士军刀
javascript·mysql·正则表达式
OldField-Tian4 天前
Qt中使用正则表达式来提取字符串
qt·正则表达式
datascome4 天前
简数采集技巧之快速获取特殊链接网址URL方法
前端·经验分享·爬虫·程序人生·正则表达式
WebCsDn_TDCode4 天前
正则表达式检测文件类型是否为视频或图片
javascript·正则表达式·音视频