你好,我是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)<class 'int'>>>>    type(1+1<5)<class 'bool'> # bool即为布尔型。>>>    type(1.23)<class 'float'>>>>    type('I am goldsunC')<class 'str'>

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

#    将整型转换为字符串类型>>>    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') 删除字符串首和尾的str
lstrip('str') 单删除字符串左侧(首)的str
rstrip('str') 单删除字符串右侧(尾)的str

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

 • end • 

走在路上

goldsunC

c++ 字符串合并_Python基础字符串处理相关推荐

  1. c语言:printf可以自动把两个字符串合并成一个字符串,并且可以合并多个

    printf可以自动把两个字符串合并成一个字符串,并且可以合并多个 程序1: #include<stdio.h> int main() { printf("hello  &quo ...

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

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

  3. python两列字符串合并_python两列字符串如何合并?

    python两列字符串如何合并?,字符串,变量,方法,语句,就没 python两列字符串如何合并? python两列字符串如何合并? python两列字符串合并的方法: 1.在很多情况下,我们都需要合 ...

  4. python 字符串 数字_Python基础教程:数字、字符串

    Python 数字 Python 数字数据类型用于存储数值. 数据类型是不允许改变的,这就意味着如果改变数字数据类型得值,将重新分配内存空间. 以下实例在变量赋值时数字对象将被创建: var1 = 1 ...

  5. python 字符串替换_Python基础教程,第四讲,字符串详解

    本节课主要和大家一起学习一下Python中的字符串操作,对字符串的操作在开发工作中的使用频率比较高,所以单独作为一课来讲. 学完此次课程,我能做什么? 学完本次课程后,我们将学会如何创建字符串,以及如 ...

  6. python无效的类字符串_Python基础-字符串处理

    ​你好,我是goldsunC 让我们一起进步吧! 字符串操作与处理 字符串是编程语言中经常会遇见的东西,而字符串又和那些编程语句什么的不太一样,我们可能需要对一个字符串进行各种各样的处理,后面我将给出 ...

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

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

  8. 判断字符串格式_Python基础教程,第四讲,字符串详解

    本节课主要和大家一起学习一下Python中的字符串操作,对字符串的操作在开发工作中的使用频率比较高,所以单独作为一课来讲. 学完此次课程,我能做什么? 学完本次课程后,我们将学会如何创建字符串,以及如 ...

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

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

最新文章

  1. pandas.DataFrame.to_dict()的使用详解
  2. 市场规模占全国4成,广东物联网市场发展强劲
  3. 千万千万不要运行的 Linux 命令
  4. java下linux和window通用的获取指定网段的本地ip地址(NetworkInterface)
  5. Cocos2dx 之 PhysicsHandler 简单实现
  6. 数据大师Olivier Grisel给志向高远的数据科学家的指引
  7. 最新Linux系统安装腾讯QQ教程(非Wine)
  8. 在线ai伪原创文章生成助手
  9. Photoshop下载
  10. 谷歌浏览器翻译显示服务器失败,谷歌浏览器翻译失败的解决办法 来看看吧
  11. wp8.1 java_UWP tips (与wp8.1的不同)
  12. 计算机冗余,惯性导航计算机系统冗余设计
  13. mysql 所有字符集_mysql字符集
  14. 开源ios街机模拟器
  15. Linux后台开发系列之「10.Autoconf 打包软件」
  16. Amazon 云服务 名词解释
  17. 产品经理的金字塔之旅---将“打杂”的实习经历描述的高大上!!!
  18. FPGA的设计艺术(7)STA实战之SmartTime时序约束及分析示例(II)
  19. extmail mysql数据库 重启_Extmail邮件服务器centos搭建(一)(示例代码)
  20. 笔记本扩展坞无法外界显示器的问题

热门文章

  1. 基于JAVA+Servlet+JSP+MYSQL的企业员工投票系统
  2. 基于JAVA+SpringMVC+Mybatis+MYSQL的球鞋购物系统
  3. 三星android11推送,三星将在2020年1月开始推送Android 10系统:等太久
  4. 条件语句和循环语句_总结一下条件语句和循环语句
  5. POJ3737 UmBasketella
  6. java 时间处理经典案例
  7. java怎样获取变量的类型
  8. win7双系统安装openSUSE13.2解决【引导加载器安装期间出错】问题
  9. 【GStreamer开发】GStreamer基础教程07——多线程和Pad的有效性
  10. oracle plsql 无法连接 报 ORA-12560: TNS:protocol adapter error