​你好,我是goldsunC

让我们一起进步吧!

字符串操作与处理

字符串是编程语言中经常会遇见的东西,而字符串又和那些编程语句什么的不太一样,我们可能需要对一个字符串进行各种各样的处理,后面我将给出我整理的一些常用的对字符串进行处理的方法。

字符串创建

将一系列字符包裹在一对单引号或者双引号中即可创建字符串,就像这样:

>>> 'I am goldsunC'

'I am goldsunC'

>>> "I am goldsunC"

'I am goldsunC'

首先,不管你是用单引号还是双引号创建的字符串,在shell中输出的均为单引号的字符串,而实际上单引号和双引号创建出的字符串没有实质性不同,那为什么不规范成一种创建格式呢?因为它有一点作用,试想,假如你的字符串是一段话,里面还包括引号,比如:

>>> 'I said :"I am goldsunC"'

'I said :"I am goldsunC"'

这样就体现了有两种字符串的好处了:使得我们可以创建本身就含有引号的字符串。

我们都知道,Python语言中有四种数据类型,分别是:

布尔型、整型、浮点型、字符串型

布尔型:只表示真假,只有True和False两种取值。一般为逻辑表达式形式。

整型:整数,如1、3、5等。

浮点型:即带小数点的类型,如1.23、1.0e8等。

字符串型字符组成的序列,如"I am goldsunC",像字母、数字、空格等都可以作为字符。

因为在编程语言中经常会将一些对象赋值给一些变量,如果你想查看某个变量的类型,只需要这样输入即可:

type(variable)

#For example

>>> type(2)

>>> type(1+1<5)

# bool即为布尔型。

>>> type(1.23)

>>> type('I am goldsunC')

同时,你也可以将其他类型的数据转换为字符串类型,如下:

# 将整型转换为字符串类型

>>> str(100)

'100'

对浮点型来说转化为字符串是和整型一致的,布尔型也可以转化为字符串,但是可能无法转化为你想要的字符串,因为布尔型只有两种取值,你可以试着转化一下,会有下面的结果:

>>> str(1+1<5)

'Ture'

字符串处理

字符串相接

当你拥有两个字符串:'I am '、'goldsunC',你想把后者加在前者的后边成为一个新字符串'I am goldsunC',在Python语言中这个操作非常简单,你只需要输入:

>>> 'I am '+'goldsunC'

'I am goldsunC'

#当然,你也可以这样:

>>> a = 'I am '

>>> b = 'goldsunC'

>>> a+b

'I am goldsunC'

字符串复制

复制相同的已有字符串,用 '*' 即可,如:

>>> 'goldsunC' *3

'goldsunCgoldsunCgoldsunC'

提取字符串中的字符

提取字符串中的字符一般用方括号[]来解决

如字符串 'goldsunC' ,你如果想要提取出来其中的第四个字符d,那么你只需要输入:

>>> 'goldsunC'[3]

's'

你可能会想,为什么方括号中的索引值是3,而明明字符d是字符串中的第4个字符啊,而实际上,方括号中的索引值并不是代表你要提取的第几个字符,它的含义是你要提取的字符相对于其所在字符串中第一个字符的偏移量(向右侧偏移为正),对一个字符串来说,其中的第一个字符相对于第一个字符的偏移量为0,第二个的偏移量为1,以此类推,同样的,偏移量也可以为负数,即向左偏移,这也体现了Python语言聪明的一点,以上述字符串 'goldsunC' 为例:

>>> A = 'goldsunC'

>>> A[0]

'g'

>>> A[7]

'C'

>>> A[-1]

'C'

而实际上有时候我们不止需要提取一个字符,我们可能需要某个字符串中的半串,亦或者需要其中的某一个片段,那我们应该怎么做呢,没错,还是需要方括号[]来帮助我们:

#还是以'goldsunC'为例:

#假定我们需要提取它中的 sun ,你需要这样做:

>>> 'goldsunC'[4:7]

'sun'

>>> 'goldsunC'[-4:-1]

'sun'

#亦或者你想每隔两个步长提取一个字符:

>>> 'goldsunC'[0:-1:2]

'glsn'

总结:通过上边的例子我们不难总结出来对字符串使用方括号提取字符的规律。首先,其有效引用格式为[start : end : step],其中:

start : 提取字符串的起始偏移位

end : 提取字符串的终止偏移位(不包括此位,提取到"end-1")

step : 提取步长。

其中除了start和end之间的冒号之外,所有参数均可省略。[:] : 提取从开头到结尾的整个字符串。

[start:] : 从start提取到结尾。

[:end] : 从开头提取到 end - 1。

以此类推,亲爱的你会举一反三吗哈哈哈。

另外需要注意的一点是:Python语言在提取操作中对于无效偏移位的容忍程度非常大,即在提取时,小于一个字符串起始位置的偏移量会被当作0,而大于终止位置的偏移位会被当做 -1 。

获取字符串长度

字符串长度即是字符串中包含的字符数,比如空格等字符也算入内,获得字符串的长度对我们对它进行相关处理非常有用,比如刚才学会的字符提取。而获得字符串长度的方法很简单,就像得到一个对象的数据类型一样,你只需要输入:

>>> len('goldsunC')

7

>>> len('I am goldsunC')

13

分割字符串

在之前的各种方法,在我看来都算是广义的操作方法,直接对字符串本身进行操作即可,而到这里,我们就需要用一些函数来实现我们想要的功能了,当然,你也可以选择不用函数,自己去编写程序获得你想要的结果,可是放着已经有的车不去开而去选择自己造一辆车是非常不明智的,正是各种函数的存在才极大的增加了我们的工作效率。

分割字符串需要用到split()函数,圆括号里面的参数为分割符号,如果为空则默认分割符号为空白字符即:换行符、空格、制表符(Tab)。

举例:

# 变量赋值

>>> str ='I am goldsunC. And everyone says I am handsome.'

# One

>>> str.split('.')

['I am goldsunC','And everyone says I am handsome','']

# Two

>>> str.split()

['I', 'am', 'goldsunC.', 'And', 'everyone', 'says', 'I', 'am', 'handsome.']

# Three

>>> str.split('d')

['I am gol', 'sunC. An', ' everyone says I am han', 'some.']

从上边的例子我们很容易知道split()函数的使用方法,就是圆括号里面是什么字符,就将原字符串以什么字符分割而已,很好理解。

合并字符串

既然有分割字符串,那么肯定有合并字符串,合并字符串的函数是join()函数,和分割函数split()相比,合并函数的引用方法似乎有些奇怪。

举例:

#创建链表

>>> str_list = ['I', 'am', 'goldsunC.', 'And', 'everyone', 'says', 'I', 'am', 'handsome.']

# One

>>> ' '.join(str_list)

'I am goldsunC. And everyone says I am handsome.'

# Two

>>> ','.join(str_list)

'I,am,goldsunC.,And,everyone,says,I,am,handsome.'

通过例子我们可以看出来,奇怪的地方在于引用方法,join()函数的圆括号里面不是合并符,而是我们要合并的对象,合并符号在函数之前,不过可能是Python语言这样设置是为了让我们有更好的理解吧,不管怎样,记住就得了哈哈哈。

常用字符串操作的函数

前边大致介绍了部分对于字符串的简单操作方法,而实际上,对字符串的操作还有很多很多,而Python中也提供了很多很多可让我们使用的处理函数,其中分割函数和合并函数被我单独拿出来讲的原因是因为它们跟其它的函数有些不同而且更长时间会使用到,接下来我列出一些其它的对字符串操作比较常用的函数。

函数名称作用startswith('str')判断是否以str开头,返回值为'True'或者'False'endswith('str')判断是否以str结尾,返回值为'True'或者'False'find('str')查看字符串中第一次出现str的偏移位rfind(‘str’)查看字符串中最后一次出现str的偏移位count('str')返回字符串中出现str的总次数isalnum('str')判断字符串中的所有字符是否都为字母或者数字(注意空格也是字符)capitalize()将字符串首字母变成大写title()将字符串中所有单词的开头字母变成大写upper()将字符串中所有字母变成大写lower()将字符串中所有字母变成小写swapcase()将所有字母的大小写转换center(num)将字符串在num个字符位里居中ljust(num)将字符串在num个字符位里左对齐rjust(num)将字符串在num个字符位里又对齐replace(str1,str2,num)将字符串中的str1更换成str2,num参数可省略,如果省略则默认只更换第一处,不省略则更改num处。strip('str')删除字符串首和尾的strlstrip('str')单删除字符串左侧(首)的strrstrip('str')单删除字符串右侧(尾)的str

当然,关于字符串处理的函数还有很多,这些只是其中的一部分,如果有其它需求还得自己去找才行,当然见得多用的多了才更好。

python无效的类字符串_Python基础-字符串处理相关推荐

  1. 以30字符宽居中输出python字符串_python基础--字符串

    Python3 字符串 字符串是 Python 中最常用的数据类型.我们可以使用引号(' 或" )来创建字符串. 创建字符串很简单,只要为变量分配一个值即可.例如: var1 = 'Hell ...

  2. python中return输出字符串_python基础——字符串

    Python 字符串 字符串是 Python 中最常用的数据类型.我们可以使用引号('或")来创建字符串. 创建字符串很简单,只要为变量分配一个值即可.例如: var1 = 'Hello W ...

  3. python中百分号可以格式化_Python基础-字符串格式化_百分号方式_format方式

    原博文 2016-11-29 22:42 − Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式 ...

  4. python循环控制语句将数值转化成字符串_python基础入门详解(文件输入/输出内建类型字典操作使用方法)...

    f=open("foo.txt") line=f.readline() while line: print line, line=f.readline() #读取一行,包括换行符' ...

  5. python创建字符串_Python基础之字符串

    1.创建字符串 字符串用于存储和表示文本,在python中属于不可变对象,单引号.双引号.三引号内的内容即字符串. 1 s = '字符串' 2 s1 = "字符串" 3 s2 = ...

  6. python中astr是啥_python 基础 之 字符串

    Str 字符串 python 字符串str是在Python编写程序过程中,最常见的一种基本数据类型. A.创建字符串 a=str('字符串') a='这样也是字符串' astr='我是字符串' #使用 ...

  7. python按位置从字符串提取子串的操作是_Python基础-字符串操作和“容器”的操作...

    星火:Python基础-IF和循环​zhuanlan.zhihu.com星火:Python基础-函数​zhuanlan.zhihu.com星火:Python基础-模块​zhuanlan.zhihu.c ...

  8. python数据类型对应布尔值_Python基础数据类型之整型,布尔值,字符串

    1.数据类型 Python中常用的数据类型有多种,如下: 整数(int) ,字符串(str),布尔值(bool),列表(list),元组(tuple),字典(dict),集合(set). int.整型 ...

  9. python打印字符串的前五行_python基础-字符串(6)

    一.引言 当打来浏览器登录某些网站的时候,需要输入密码,浏览器把密码传送到服务器后,服务器会对密码进行验证,其验证过程是把之前保存的密码与本次传递过去的密码进行对比,如果相等,那么就认为密码正确,否则 ...

最新文章

  1. 刚刚,我国智能科学技术最高奖揭晓!
  2. “Python来玩微信跳一跳”教程(问题总结)
  3. 以太坊智能合约安全入门了解一下(上)
  4. 阿里财报:云计算年度营收133亿,季度营收连续12个季度翻番
  5. curd日志记录php,自动记录CURD操作的功能
  6. VMware Workstation 中 用NAT 方式设置网络
  7. OpenGL编程轻松入门(一)
  8. S60第三版软件批量签名助手下载
  9. python删除过期文件_python 删除过期文件的方法+源码
  10. Android长截屏(滚动截屏)实现原理
  11. 循环switch 变量x 如果case a 车辆型号查询系统官网,车辆型号怎么去查询?
  12. 南京大学计算机学院飞跃手册,2014南京大学物理学院飞跃手册.pdf
  13. 学完了Hadoop,我总结了这些重点
  14. java floor(),Java floor()用法及代码示例
  15. 利用C++的多态写一个电脑组装的具体实现
  16. Office 2010安装程序包的语言不受系统支持
  17. C#项目启动会闪退问题解决
  18. 下载词云(wordcloud)
  19. python三原色组合白色_为何色光三原色三三相加得到白色,这其中加色原理是如何起作用的?...
  20. 搭建WDS(Windows部署服务)

热门文章

  1. linux文件赋予755权限,Linux文件和目录的777、755、644权限解释
  2. matlab 读取照片imread,利用matlab读取图像
  3. java获取网络带宽_Linux Java 获取CPU使用率,内存使用率,磁盘IO,网络带宽使用率等等...
  4. e x泰勒 java_maven project
  5. java try的用法_Java中try、catch的使用方法
  6. IDEA里的web.xml页面的Servlet名称报错下方出现红色下划线
  7. 层次分析法之python
  8. MATLAB使用教程(4)——悄悄滴上手项目
  9. 浙江大学计算机考研408上岸,2016年跨考上岸浙江大学计算机研究生,初试412分经验谈!...
  10. 子类怎么继承父类方法中的变量_JavaOOP_04 封装 继承