21 pythone【入门指南】:string
string是很基础的数据结构,来看看string有哪些常用的操作。
#!/bin/python
#!---encoding: UTF- s = 'abcdefg' #concat
s1 = s + "hi"
print(s1) #find string pos
#如果成功则返回对应index 如果查找失败则报异常
print(s.index("abc"))
#print(s.index("ccc")) #ValueError: substring not found #slice
print(s[:])
print(type(s), dir(str))
通过dir来查看当前类的所有函数(包括私有函数,也包括公开函数)
<class 'str'> ['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize', 'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isdecimal', 'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']
常用的有:join,count,encode,find,format,index,lower,upper,lstrip,rstrip,strip,replace,split,title
操作1:lower,upper
将字符串全部变成大/小写
a = 'abcdef'
b = a.upper() #ABCDEF
c = b.lower() #abcdef
操作2:lstrip,rstrip,strip
strip:将string中左右出现的空白字符删除掉,并且如果是连续的空白字符,也一并删除,知道删除到不是空白字符为止,空白字符包含:\n, \r, 空格
lstrip:将string中左边出现的连续空白字符删除掉,右侧的不管
rstrip:将string中右侧出现的连续空白字符删除掉,左侧的不管
a = "\nabc\n"
print(a.strip()) #abc
print(a.rstrip()) #\nabc
print(a.lstrip()) #abc\n
操作3:replace
replace:将匹配的字符串替换为第二个参数中提供的字符串,注意replace不会改变原先的值,改变后的值需要用新的变量来接收
#replace
a = 'a b c'
b = a.replace(' ', '-') #a-b-c
print(a, b)
操作4:title
title:将字符串变成首字符大写,其它字符小写的格式,像文章段落的第一个单词那样。
#title
a = 'aBc'
print(a.title()) #Abc
操作5:count,find,index
#count, find, index
a = 'abcabc'
print(a.count('abc')) #2
print(a.count('abcd')) #0
print(a.index('ab')) #0
#print(a.index('abcd')) #ValueError: substring not found
print(a.find('abc') #0
print(a.find('abcd')) #-1
count:统计字符串出现的次数
find:查找该字符串是否在母字符串中出现过,出现过则返回对应的下标,否则返回-1;
index:查找该字符串是否在木字符串中出现过,出现过则返回第一次出现的下标,否则抛出异常;
操作6:join
a = 'abc'
print(a.join('---')) #-abc-abc-
操作7:format,encode
format:对象规定格式,参数来负责填充格式中的缺少的
encode:字符串转码函数,参数是转码后的格式
#format, encode
print('{2},{1},{0}'.format('a', 'b', 'c')) #c,b,a
print('abcd'.encode('UTF-8')) #b'abcd'
操作8:split
split:将按照参数中的字符将对象分割开来,返回list数组
#split
a = 'a,b,c'
print(a.split(',')) #['a', 'b', 'c']
还有两个常用的操作:连接,slice
s1 = 'abcd'
s2 = 'efgh'
print(s1 + s2) #abcdefgh
print(s1[1:]) #bcd
21 pythone【入门指南】:string的更多相关文章
- CI Weekly #21 | iOS 持续集成快速入门指南
搭建 iOS 持续集成环境要多久?每个 iOSer 都有不同的答案.这次我们整理了 flow.ci 的 iOS 持续集成的相关文档和最佳实践,希望帮你更快地完成构建.更新文档见: flow.ci iO ...
- 关于 HSSF 和 XSSF 功能的开发者入门指南 (Apache POI 操作 Excel)
关于 HSSF 和 XSSF 功能的开发者入门指南 笔者深夜无眠,特此对本文翻译一部分,未完成部分待后续更新 本文源文地址 意欲使用 HSSF 和 XSSF 功能快熟读写电子表格?那本文就是为你而写的 ...
- Ext JS 6学习文档–第1章–ExtJS入门指南
Ext JS 入门指南 前言 本来我是打算自己写一个系列的 ExtJS 6 学习笔记的,因为 ExtJS 6 目前的中文学习资料还很少.google 搜索资料时找到了一本国外牛人写的关于 ExtJS ...
- [转] Spark快速入门指南 – Spark安装与基础使用
[From] https://blog.csdn.net/w405722907/article/details/77943331 Spark快速入门指南 – Spark安装与基础使用 2017年09月 ...
- redis入门指南(二)—— 数据操作相关命令
写在前面 以下绝大部分内容取材于<redis入门指南>,部分结合个人知识,实践后得出. 只记录重要,明确,属于新知的相关内容,杜绝冗余和重复. 字符串 1.字符串类型是redis中最常见的 ...
- Web API 入门指南 - 闲话安全
Web API入门指南有些朋友回复问了些安全方面的问题,安全方面可以写的东西实在太多了,这里尽量围绕着Web API的安全性来展开,介绍一些安全的基本概念,常见安全隐患.相关的防御技巧以及Web AP ...
- 【翻译】Fluent NHibernate介绍和入门指南
英文原文地址:https://github.com/jagregory/fluent-nhibernate/wiki/Getting-started 翻译原文地址:http://www.cnblogs ...
- ASP.NET MVC 5 入门指南汇总
经过前一段时间的翻译和编辑,我们陆续发出12篇ASP.NET MVC 5的入门文章.其中大部分翻译自ASP.NET MVC 5 官方教程,由于本系列文章言简意赅,篇幅适中,从一个web网站示例开始讲解 ...
- 【HBase】HBase Getting Started(HBase 入门指南)
入门指南 1. 简介 Quickstart 会让你启动和运行一个单节点单机HBase. 2. 快速启动 – 单点HBase 这部分描述单节点单机HBase的配置.一个单例拥有所有的HBase守护线程- ...
- 001.Getting Started -- 【入门指南】
Getting Started 入门指南 662 of 756 people found this helpful Meng.Net 自译 1. Install .NET Core 到官网安装 .NE ...
随机推荐
- .net DLL 注册 regasm delphi调用
.net DLL 注册 regasm regasm regasm myTest.dll regasm.exe 打开vs2005自带的工具“Visual Studio 2005命令提示”,输入上述命令 ...
- IO 和 NIO 的区别
IO:阻塞IO,面向流:当一个线程调用read() 或 write()时,该线程被阻塞,直到有一些数据被读取,或数据完全写入,该线程在此期间不能再干任何事情了:可以有少量的连接使用非常高的带宽,一次发 ...
- 机器学习进阶-直方图与傅里叶变换-傅里叶变换(高低通滤波) 1.cv2.dft(进行傅里叶变化) 2.np.fft.fftshift(将低频移动到图像的中心) 3.cv2.magnitude(计算矩阵的加和平方根) 4.np.fft.ifftshift(将低频和高频移动到原来位置) 5.cv2.idft(傅里叶逆变换)
1. cv2.dft(img, cv2.DFT_COMPLEX_OUTPUT) 进行傅里叶变化 参数说明: img表示输入的图片, cv2.DFT_COMPLEX_OUTPUT表示进行傅里叶变化的方法 ...
- 如何禁用Firefox,chrome浏览器“不安全密码警告”
在任何HTTP页面中,一个全新的“不安全密码警告”将会在用户点击表单时直接出现在登陆框的下方,强行保证所有用户都能看到“此链接不安全,你的个人利益将受到损害”等字眼,同时整个页面也会收到损坏的挂锁图标 ...
- jquery元素使用
特殊用法: var formFields = $([]).add(_ele1).add(_ele2); 可将多个元素整合到一个集合中 1.has方法 has()方法查找自己,has为子集条件,即包含 ...
- 5分钟快速打造WebRTC视频聊天<转>
原文地址: 5分钟快速打造WebRTC视频聊天 百度一下WebRTC,我想也是一堆.本以为用这位朋友( 搭建WebRtc环境 )的SkyRTC-demo 就可以一马平川的实现聊天,结果折腾了半天,文本 ...
- springmvc简单教程
IDEA建立Spring MVC Hello World 详细入门教程(转自) 引子,其实从.NET转Java已经有几个月时间了,项目也做了不少,但是很多配置都是根据公司模板或者网上教程比忽略画瓢 ...
- 关于C# WinForm中进度条的实现方法
http://www.cnblogs.com/Sue_/articles/2024932.html 进度条是一个软件人性化考虑之一,他给用户的感觉就是程序内部在不停的动作,执行到了什么程度,而不是整个 ...
- [C语言]逆序的三位数
---------------------------------------------------------------------------------------- // main.c ...
- 14.连接池.md
目录 连接池定义 常用开源连接池: DBCP: C3P0 连接池定义 使用统一的规范:javax.sql.DataSource实现统一编程 常用开源连接池: DBCP:tomcat C3P0:hibe ...