python字符串

python3字符串的常见操作

房东的猫 提交于 2019-12-11 03:15:56
1、find检测str是否包含在mystr,如果是返回开始的索引值,否则返回-1 In [ 5 ] : mystr = 'hello world itcast and hahaitcast' In [ 6 ] : mystr . find ( 'world' ) Out [ 6 ] : 6 In [ 7 ] : mystr . find ( 'heihei' ) Out [ 7 ] : - 1 2、index和find一样只不过,str不在mystr中会报一个异常 In [ 8 ] : mystr . index ( 'itcast' ) Out [ 8 ] : 12 In [ 9 ] : mystr . index ( 'heihei' ) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ValueError Traceback ( most recent call last ) < ipython - input - 9 - 2cd231cae32a > in < module > ( ) - - - - > 1 mystr .

python笔记2

泪湿孤枕 提交于 2019-12-11 00:41:02
字符串排版: title():标题的每个单词都大写 capitalize():首个单词大写 center(width[,fillchar]):width打印宽度 fillchar填充的字符 zfil(width):width打印宽度,居右,左边用0填充 ljust(width[,fillchar]):左对齐 rjust(width[ ,fillchar]):右对齐 字符串的修改: replace(old,new[,count]):字符串中找到替换为新子串,返回新字符串;count表示替换几次,不指定就是全部替换 ‘www.baidu,com'.replace('w',''p',2) 结果:ppw.baidu.com 字符串的修改: strip([chars]):从字符串两端去除指定的字符集chars中所有字符;如果chars没有指定,去除两端的空白字符 lstrip([chars]):从左开始 rstrip([chars]):从右开始 来源: https://www.cnblogs.com/mapone/p/12020065.html

【Python CheckiO 题解】Between Markers

不问归期 提交于 2019-12-10 23:41:36
CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,传送门:https://checkio.org/,本博客主要记录自己在闯关时的做题思路和实现代码,同时也学习学习其他大神写的代码。 题目描述 【Between Markers】 :给定一个字符串和两个标记字符(第一个和最后一个标记),找到两个标记符之间包含的子字符串。初始标记和最终标记始终不同;如果这两个标记在字符串中都不存在,则返回原字符串;如果没有初始标记,则应将第一个字符视为字符串的开头;如果没有最终标记,则最后一个字符应视为字符串的结尾;如果最终标记位于初始标记之前,则返回一个空字符串。 【链接】 :https://py.checkio.org/zh-hans/mission/between-markers/ 【输入】 :三个参数,都是字符串,第二个和第三个参数是初始标记和结束标记 【输出】 :字符串 【范例】 : between_markers ( 'What is >apple<' , '>' , '<' ) == 'apple' between_markers ( 'No[/b] hi' , '[b]' , '[/b]' ) == 'No' 解题思路 利用 find() 方法查找原字符串中是否有标记字符,注意,由于

Python re正则表达式模块及其用法

一曲冷凌霜 提交于 2019-12-10 23:16:21
实际上,掌握 Python 的正则表达式并不难,无非就是几个简单的函数。在 Python 的交互式解释器中先导入 re 模块,然后输入 re. all 命令,即可看到该模块所包含的全部属性和函数: >> > re . __all__ [ 'match' , 'fullmatch' , 'search' , 'sub' , 'subn' , 'split' , 'findall' , 'finditer' , 'compile' , 'purge' , 'template' , 'escape' , 'error' , 'A' , 'I' , 'L' , 'M' , 'S' , 'X' , 'U' , 'ASCII' , 'IGNORECASE' , 'LOCALE' , 'MULTILINE' , 'DOTALL' , 'VERBOSE' , 'UNICODE' ] 从上面的输出结果可以看出,re 模块包含了为数不多的几个函数和属性(用于控制正则表达式匹配的几个选项)。下面先介绍这些函数的作用: re.compile(pattern, flags=0):该函数用于将正则表达式字符串编译成 _sre.SRE_Pattern 对象,该对象代表了正则表达式编译之后在内存中的对象,它可以缓存并复用正则表达式字符串。如果程序需要多次使用同一个正则表达式字符串,则可考虑先编译它。 该函数的

python_study_day01

ぐ巨炮叔叔 提交于 2019-12-10 23:09:35
python中的数据类型(Number String List Tuple Set Dictionary) 不可变:Number String Tuple 可变: List Set Dictionary 注意:(在数字->bool 字符串->bool的类型转换中 只有0 或者 ""转换为布尔类型为False 其他都为True) print('heh') 来源: https://www.cnblogs.com/kongjunkongjun/p/12019706.html

python的第三天学习(字符串的使用)

↘锁芯ラ 提交于 2019-12-10 12:37:44
1、字符串首字母大写 s = "aksjdjjhfhdhjaGGGGkkk" s1 = s.capitalize() print(s1) View Code 2、字符串全部字母大写 s = "aksjdjjhfhdhjaGGGGkkk" s2 = s.upper() print(s2) View Code 3、 字符串全部字母小写 s = "aksjdjjhfhdhjaGGGGkkk" s3 = s.lower() print(s3) View Code 例:验证码不分大小写输入 s_str = 'AAeu2' you_input = input('请输入验证码') if you_input.upper() == s_str.upper(): print('输入成功') else : print('输入有误,请重新输入') View Code 4、大小写翻转 s = "aksjdjjhfhdhjaGGGGkkk" s3 = s.swapcase() print(s3) View Code 5、单词前字母大写(中间空格隔开或者特殊字符或者数字) s = 'alex peter matin' s4 = s.title() print(s4) View Code 6、居中,空白填充(~~~~~~~alex peter matin~~~~~~~) s = 'alex peter matin

将整数转换为字符串?

一曲冷凌霜 提交于 2019-12-10 12:06:04
我想在Python中将整数转换为字符串。 我是徒劳地捣蛋: d = 15 d.str() 当我尝试将其转换为字符串时,它显示错误,如 int 没有任何名为 str 属性。 #1楼 在我看来,最体面的方式是``。 i = 32 --> `i` == '32' #2楼 可以使用 %s 或 .format >>> "%s" % 10 '10' >>> (要么) >>> '{}'.format(10) '10' >>> #3楼 对于想要将int转换为特定数字字符串的人,建议使用以下方法。 month = "{0:04d}".format(localtime[1]) 有关更多详细信息,请参阅堆栈溢出问题 显示编号,前导零 。 #4楼 在Python => 3.6中,您可以使用 f 格式: >>> int_value = 10 >>> f'{int_value}' '10' >>> #5楼 随着Python 3.6中f字符串的引入,这也将起作用: f'{10}' == '10' 它实际上比调用 str() 更快,但代价是可读性。 实际上,它比 %x 字符串格式化和 .format() 更快! 来源: oschina 链接: https://my.oschina.net/u/3797416/blog/3140416

模式匹配与正则表达式

走远了吗. 提交于 2019-12-10 04:07:36
正则表达式匹配的几个步骤:   1. 用 import re 导入正则表达式模块。   2.用 re.compile()函数创建一个 Regex 对象(记得使用原始字符串)。   3.向 Regex 对象的 search()方法传入想查找的字符串。它返回一个 Match 对象。   4.调用 Match 对象的 group()方法,返回实际匹配文本的字符串。 正则表达式匹配更多模式:   1. 利用括号分组:group() 和groups() 方法。 >>> phoneNumRegex = re.compile(r'(\d\d\d)-(\d\d\d-\d\d\d\d)') >>> mo = phoneNumRegex.search('My number is 415-555-4242.') >>> mo.group(1) '415 >>> mo.group(2) '555-4242' >>> mo.group(0) '415-555-4242' >>> mo.group() '415-555-4242' >>> mo.groups() ('415', '555-4242') >>> areaCode, mainNumber = mo.groups() >>> print(areaCode) 415 >>> print(mainNumber) 555-4242>>>

python文件与输入输出

烂漫一生 提交于 2019-12-09 23:17:50
注:本文档是学习《Python核心编程(第二版)》时的整理。由于这部分内容比较多,故分成两部分进行记录。 1.文件对象 文件对象不仅可以用来访问普通的磁盘文件,也可以访问任何其他类型抽象层面上的"文件"。一旦设置了合适的"钩子",就可以访问具有文件类型接口的其它对象,就好像访问的是普通的文件。 2.文件内建函数(open()和file()) open()和file()提供了初始化输入/输出(I/O)操作的通用接口,open()内建函数成功打开文件会返回一个文件对象,否则引发一个异常。当操作异常,会产生一个IOError异常。基本语法如下: file_object = open(file_name, access_mode='r', buffering=-1) file_name是包含要打开的文件名字的字符串,可以是相对路径或者绝对路径。 可选变量access_mode是一个字符串,代表文件的打开模式,'r'表示读取,'w'表示写入,'a'表示追加。另外,'U'代表通用换行符支持。 使用'r'或者'U'模式打开的文件必须是已经存在的;使用'w'模式打开的文件若已经存在则首先清空,然后(重新)创建;以'a'模式打开的文件是为追加数据做准备的,所有写入的数据都追加到文件的末尾,即使seek到了其他的地方,如果文件不存在,则自动创建。 另外,C语言中fopen(

python3和python2编码拾遗

依然范特西╮ 提交于 2019-12-09 22:26:49
py2编码 tr和unicode str和unicode都是basestring的子类。严格意义上说,str其实是字节串,它是unicode经过编码后的字节组成的序列。对UTF-8编码的str'苑'使用len()函数时,结果是3,因为utf8编码的'苑' == '\xe8\x8b\x91'。 而unicode是一个字符串,str是unicode这个字符串经过编码(utf8,gbk等)后的字节组成的序列。如上面utf8编码的字符串'汉'。 unicode才是真正意义上的字符串,对字节串str使用正确的字符编码进行解码后获得,并且len(u'苑') == 1。 在Py2里,str=bytes。 py2编码的最大特点是Python 2 将会自动的将bytes数据解码成 unicode 字符串 所以在2里我们可以将字节与字符串拼接。 两个问题: 1 print '苑昊' :本来存的是'\xe8\x8b\x91\xe6\x98\x8a',为什么显示了 苑昊 的明文? 2 字节串和字符串可以拼接? 这就是那些可恶的 UnicodeError 。你的代码中包含了 unicode 和 byte 字符串,只要数据全部是 ASCII 的话,所有的转换都是正确的,一旦一个非 ASCII 字符偷偷进入你的程序,那么默认的解码将会失效,从而造成 UnicodeDecodeError 的错误。 Python