python字符串操作

Python re模块与正则表达式详解

佐手、 提交于 2019-11-26 18:35:32
Python 中使用re模块处理正则表达式,正则表达式主要用来处理文本中的查找,匹配,替换,分割等问题;我们先来看一个问题,切入正则表达式。 问题: 匹配字符串,最少以3个数字开头。使用Python代码如何实现? 检查条件: 1>字符串长度判断; 2>判断前三个字符是否是数字; 这样实现起来有点啰嗦,我们可以使用正则表达式,先来看正则表达式基本语法。 1 正则表达式基本语法 . 匹配任意字符(不包括换行符) ^ 匹配开始位置,多行模式下匹配每一行的开始 $ 匹配结束位置,多行模式下匹配每一行的结束 * 匹配前一个元字符0到多次 + 匹配前一个元字符1到多次 ? 匹配前一个元字符0到1次 {m,n} 匹配前一个元字符m到n次 \ 转义字符,例如\.只能匹配. [] 字符集,一个字符的集合,可匹配其中任意一个字符 \d 匹配一个数字, 相当于 [0-9] \D 匹配非数字,相当于 [^0-9] \s 匹配任意空白字符, 相当于 [ \t\n\r\f\v] \S 匹配非空白字符,相当于 [^ \t\n\r\f\v] \w 匹配数字、字母、下划线中任意一个字符, 相当于 [a-zA-Z0-9_] \W 匹配非数字、字母、下划线中的任意字符,相当于 [^a-zA-Z0-9_] | 逻辑表达式 或 ,比如 a|b 代表可匹配 a 或者 b (...) 分组 给一坨这个玩意,怎么用,都需要记住吗

Python中文全攻略[转载]

一个人想着一个人 提交于 2019-11-26 18:16:38
1. 在Python中使用中文 在Python中有两种默认的字符串:str和unicode。在Python中一定要注意区分“Unicode字符串”和“unicode对象”的区别。后面所有的“unicode字符串”指的都是python里的“unicode对象”。 事实上在Python中并没有“Unicode字符串”这样的东西,只有“unicode”对象。一个传统意义上的unicode字符串完全可以用 str 对象 表示。只是这时候它仅仅是一个字节流,除非解码为unicode对象,没有任何实际的意义。 我们用“哈哈”在多个平台上测试,其中“哈”对应的不同编码是: 1. UNICODE (UTF8-16), C854 ; 2. UTF-8, E59388 ; 3. GBK, B9FE 。 1.1 Windows控制台 下面是在windows控制台的运行结果: 可以看出在控制台,中文字符的编码是GBK而不是UTF-16。将字符串s(GBK编码)使用decode进行解码后,可以得到同等的unicode对象。 注意:可以在控制台打印ss并不代表它可以直接被序列化,比如: 向文件直接输出ss会抛出同样的异常。在处理unicode中文字符串的时候,必须首先对它调用encode函数,转换成其它编码输出。这一点对各个环境都一样。 总结:在Python中,“str”对 象就是一个字节数组

山东大学Python程序设计与大数据分析整理

ⅰ亾dé卋堺 提交于 2019-11-26 17:24:26
Pytrhon语言概述 一、Python语言的诞生 创始人:Guido van Rossum Python 2.x : 2002年 Python 3.x :2008 语言特点:简洁,代码量少 二、Python语言的优势 脚本语言 + 语句执行 简洁 + 强制可读性 跨平台 + 开源 面向过程 + 面向对象 图形界面 三、Python语言特点 Python语言是 通用语言 脚本语言 开源语言 跨平台语言 多模型语言 胶水语言 IPO 程序编写方法 输入数据 处理数据 输出数据 Python程序实例解析 Python 语法元素分析 严格缩进(4nbsp)表明格式框架 标明代码的层次关系 缩进是表明程序框架的唯一手段 注释 单行注释 # 多行注释 ```开头和结尾 命名与保留字 命名 大小写字母、数字、下划线(_)、和汉字。 首字符不能是数字, 中间不能出现空格 长度无限制 ++大小写敏感++ 变量 常量 程序中值不发生改变的元素 程序中值发生改变或者可以发生改变的元素 保留字 也称关键字,编程语言内部定义并保留使用的标识符 编写程序不能定义与保留字相同的标识符 保留字一般用来构成程序整体框架、表达关键值和具有结构性的复杂语义等 字符串 “ ” 或者 ’ '括起来的一个或多个字符 两种序号体系 赋值语句 同步赋值语句:<变量1>, …, <变量N> = <表达式1>, …, <表达式N>

python编写小技巧

怎甘沉沦 提交于 2019-11-26 16:48:26
1、实现计算求最大公约数和最小公倍数的函数 def gcd(x, y): (x, y) = (y, x) if x > y else (x, y) for factor in range(x, 0, -1): if x % factor == 0 and y % factor == 0: return factor def lcm(x, y): return x * y // gcd(x, y) 2、实现判断一个数是不是回文数的函数 a = 1234567 a_st = str(a) print(a_st[::-1]) 3、字符串操作 # 将字符串以指定的宽度居中并在两侧填充指定的字符 print(str1.center(50, '*')) # 将字符串以指定的宽度靠右放置左侧填充指定的字符 print(str1.rjust(50, ' ')) ******************hello, world!******************* hello, world! str2 = 'abc123456' # 检查字符串是否由数字构成 print(str2.isdigit()) # False # 检查字符串是否以字母构成 print(str2.isalpha()) # False # 检查字符串是否以数字和字母构成 print(str2.isalnum()) # True #

python字符串操作

孤人 提交于 2019-11-26 16:43:47
def main(): str1 = 'hello, world!' # 通过len函数计算字符串的长度 print(len(str1)) # 13 # 获得字符串首字母大写的拷贝 print(str1.capitalize()) # Hello, world! # 获得字符串变大写后的拷贝 print(str1.upper()) # HELLO, WORLD! # 从字符串中查找子串所在位置 print(str1.find('or')) # 8 print(str1.find('shit')) # -1 # 与find类似但找不到子串时会引发异常 # print(str1.index('or')) # print(str1.index('shit')) # 检查字符串是否以指定的字符串开头 print(str1.startswith('He')) # False print(str1.startswith('hel')) # True # 检查字符串是否以指定的字符串结尾 print(str1.endswith('!')) # True # 将字符串以指定的宽度居中并在两侧填充指定的字符 print(str1.center(50, '*')) # 将字符串以指定的宽度靠右放置左侧填充指定的字符 print(str1.rjust(50, ' ')) str2 =

④ Python3.0字符串

蹲街弑〆低调 提交于 2019-11-26 15:55:51
字符串无论是python或者其他语言,是最常用的数据类型之一: 这儿注意在python中可以通过使用引号( ' 或 " )来创建字符串。使用三引号('''或""")可以指定一个多行字符串。 使用注意 1、转义符 '\',反斜杠可以用来转义,使用r可以让反斜杠不发生转义。 2、字符串可以用+运算符连接在一起,用*运算符重复。 3、Python中的字符串有两种索引方式,从左往右以0开始,从右往左以-1开始。 4、Python中的字符串不能改变,比如上面的word[1]=1,这样执行就会报错。 如果想间接改变字符串的值的话,可以通过拼接,然后再重新赋值即可。 5、Python 没有单独的字符类型,一个字符就是长度为 1 的字符串。 使用 通过以下例子对字符串的使用做下示范: str = 'myword' print(str) # 输出字符串 print(str[0:-1]) # 输出第一个到倒数第二个的所有字符 print(str[0]) # 输出字符串第一个字符 print(str[2:5]) # 输出从第三个开始到第五个的字符 print(str[2:]) # 输出从第三个开始的后的所有字符 print(str * 2) # 输出字符串两次 print(str + '你好') # 连接字符串 print('------------------------------') print(

python 整型 布尔值 字符串操作

大兔子大兔子 提交于 2019-11-26 12:22:39
整型及布尔值 python2中有int,long(长整型)。 python3只有int。 long的意思就是说当一串数字比较长时后面已L显示。 num = 15 。 bit_length:位的长度的意思 print(num.bit_length()) 结果:4 十进制转二进制占用位数 十进制转二进制输出的结果 开头0b显示的是二进制的意思。 print(int(0b100101)) 结果:37 数字中只有0是False,其他都是True。 字符串中只要有内容就是True,没有内容就是False。 print(str(True)) 返回的是字符串。 print(int(True))返回的是1。 print(int(False))返回的是0。 字符串详解 1.索引 默认从0开始。 超出范围不报错。 2.切片 切片超出范围就报错。 3.步长 一次走几步,从左走还是从右走,左就是0开始,右就是-1开始。 4.回文 正着输出和反着输出都是一样的比如:上海自来水来自海上 while True: num = input("请输入回文") if num == num[::-1]: print("是回文") break else: print("不是回文") 字符串方法详解 .replice(1,2) 旧值,新值 替换的意思 .split() 分割 默认已空格,换行符,制表符进行切割

PYTHON字符编码

自作多情 提交于 2019-11-26 11:39:01
Python 的默认编码是 ASCII(编者注:Python 2.x) >>> import sys >>> sys.getdefaultencoding() 'ascii' 所以在 Python 源代码文件中如果不显示地指定编码的话,将出现语法错误。 #test.py print "你好" 上面是 test.py 脚本,运行 python test.py 就会包如下错误: File “test.py”, line 1 SyntaxError: Non-ASCII character ‘\xe4′ in file test.py on line 1, but no encoding declared; see http://www.python.org/ps/pep-0263.html for details 为了在源代码中支持非 ASCII 字符,必须在源文件的第一行或者第二行显示地指定编码格式: # coding=utf-8 或者 #!/usr/bin/python # -*- coding: utf-8 -*- 在 Python 中和字符串相关的数据类型,分别是 str、unicode 两种,他们都是 basestring 的子类,可见 str 与 unicode 是两种不同类型的字符串对象。 basestring / \ / \ str unicode 对于同一个汉字”好”

python 字符串操作

删除回忆录丶 提交于 2019-11-26 10:57:30
### 字符串的相关操作 (1) 字符串的拼接 + str1 = "我爱你" str2 = "亲爱滴菇凉" strvar = str1 + str2 strvar = str1 + "," +str2 print(strvar) (2) 字符串的重复 strvar = "重要的事情说三遍" res = strvar 3 print(res) (3) 字符串的跨行拼接 strvar = "sdfsdfssdfsdjfsjkdfsaudfuiousoadfjklsadf8s98adfsahdfsajkdfhsjkadfh" "111222333444" print(strvar) (4)字符串的索引 0 1 2 3 4 5 6 7 8 9 正向索引 strvar = "站起来的人一共是6个" -10-9-8-7-6-5-4-3-2-1 逆向索引 print(strvar[-6]) (5)字符串的切片: 切片就是截取 """ 语法 => 字符串[::] 完整格式:[开始索引:结束索引:间隔值] (1)[开始索引:] 从开始索引截取到字符串的最后 (2)[:结束索引] 从开头截取到结束索引之前(结束索引-1) (3)[开始索引:结束索引] 从开始索引截取到结束索引之前(结束索引-1) (4)[开始索引:结束索引:间隔值] 从开始索引截取到结束索引之前按照指定的间隔截取字符 (5)[:]或[

python面试题

橙三吉。 提交于 2019-11-26 10:12:40
为什么学习Python 爱好 通过什么途径学习Python 首先看视频自学,然后看书自学,最后报班学。 谈谈Python和其他语言的区别 Python属于解释型语言,当程序运行时,是一行一行的解释并运行,调试程序简单,开发效率高。 特点: 语法简洁优美,功能强大,标准库与第三方库都非常强大。具有很强大的可移植性、可扩展性、可嵌入性。 缺点:运行速度慢 简述解释型和编译型编程语言 解释型:就是边解释边执行 编译型:编译后再执行 Python的解释器种类以及相关特点 CPython 当我们从Python官方网站下载并安装好Python 3.6后,我们就直接获得了一个官方版本的解释器:CPython。这个解释器是用C语言开发的,所以叫CPython。在命令行下运行python就是启动CPython解释器。 CPython是使用最广的Python解释器。教程的所有代码也都在CPython下执行。 IPython IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的。好比很多国产浏览器虽然外观不同,但内核其实都是调用了IE。 CPython用>>>作为提示符,而IPython用In [序号]:作为提示符。 PyPy PyPy是另一个Python解释器,它的目标是执行速度