Python读书笔记5(字符串相关应用)

上期分享了Python相关的字符串应用,重点分享了转义字符。今天和大家分享和字符串相关的函数和应用。

一、字符串的合并!

Python用“+”号可以连接两个文本至一个文本,所以如果你的数字使用文本形式存储的,相加不再是数字加和,而是变成了文本连接!

二、强制转文本

数字型数据的时候分享过通过int和float将文本转化为数字,那我们如何实现将数字强制转化为文本呢?

第一次文本连接在一起的时候提示“must be str,not int”

因为其中score是数值型,不能和文本直接连接,想要链接需要外面套上一个str()。

str()恰恰就是强制数字转文本函数。

三、获取字符串的某个字符

Str字型本身就是由多个单独的文本、数字、字符构成,所以我们某些场景需要提取字符串的某一个部分。

python的字串列表有2种取值顺序:

从左到右索引默认0开始的,最大范围是字符串长度少1

从右到左索引默认-1开始的,最大范围是字符串开头

表达方式就是利用中括号括起来!

字符串提取的时候有一个很重要的一句话是左闭右开

比如word 定义为"ILoveU",我们提取word[2:4]

左面2是闭区间,因为从0开始计数,所以2代表第三个字符,右面的4是开区间,代表不包括第五个字符

顺便提一句老本行,Excel截取字符使用的是Left、Right和Mid

如果不知道可以百度之~

四、字符串中的字符替换

我有一个字符是“我爱我的祖国”

目前小编想把第一个字改成“你”

怎么实现呢?

我们刚刚学会了提取字符串的第一个字符word[0]

我们将其赋值一个新的字符发现提示报错。

这里和大家分享的是字符的不可变性,字符串的某一个部分是不可以单独改变的

那如何实现刚刚的需求呢?

方法一:拆分重组法

方法二:replace大法

replace默认接两个参数("旧文本","要替换的新文本")

当不输入第三个参数的时候,默认全部替换所有的旧文本。

如果输入第三个参数,Python会根据你提供的数量,从左至右替换对应文本。

replace函数只是改变显示的状态,并没有改变原有字符串的组成,如果想改变原有字符串的内容,需要重新赋值一遍才可以!

Excel中如何替换文本呢?

可以点击这段文字看我之前的文章

五、大小写的那点事

我对一个变量赋值全小写的"i love u"

接下来这样玩大小写的转换

再强调一遍,字符串的内置函数,就是上面图片的那些函数,只是改变了某一时刻的呈现方式,并没有改变原字符串的内容!

六、判断开头与结尾

我们想判断某个字符串以什么开头,以什么结尾。

需要用到startswith,endswith

七、字符串内部文本数字判断

isalpha和isnumeric是用来判断是否纯字母或者纯数字,返回布尔型逻辑判断结果True和False

八、删除字符串中的空格

在Excel中如果一个文本有空格,去除前后的空格可以使用Trim()函数。

如果想替换所有的空格,可以使用

SUBSTITUTE(待处理单元格,待替换文本,替换成什么)函数

Python中如何实现去除空格的操作呢?

九、字符串的拆分与合并

我们有个url="bbs.byr.cn",我们将这个字符串拆分成列表。

列表类型后续会分享到,在目前可以简单的理解将一个字符串拆分成多个字符串!

十、王牌应用,格式化字符串

为了更好地实现字符串的拼接,需要用到format方法。

原文发布于微信公众号 - 阿凯的Excel(akexcel)

原文发表时间:2017-12-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏芋道源码1024

熔断器 Hystrix 源码解析 —— 断路器 HystrixCircuitBreaker

本文主要基于 Hystrix 1.5.X 版本 1. 概述 2. HystrixCircuitBreaker 3. HystrixCircuitBreaker....

5327
来自专栏大内老A

The .NET of Tomorrow

Ed Charbeneau(http://developer.telerik.com/featured/the-net-of-tomorrow/) Exciti...

31810
来自专栏我和未来有约会

Silverlight第三方控件专题

这里我收集整理了目前网上silverlight第三方控件的专题,若果有所遗漏请告知我一下。 名称 简介 截图 telerik 商 RadC...

4025
来自专栏飞扬的花生

jsencrypt参数前端加密c#解密

      写程序时一般是通过form表单或者ajax方式将参数提交到服务器进行验证,如何防止提交的请求不被抓包后串改,虽然无法说绝对安全却给非法提交提高了难度...

3869
来自专栏码匠的流水账

聊聊NettyConnector的start及shutdown

reactor-netty-0.7.6.RELEASE-sources.jar!/reactor/ipc/netty/NettyConnector.java

851
来自专栏菩提树下的杨过

Flash/Flex学习笔记(23):运动学原理

先写一个公用的小球类Ball: package{ import flash.display.Sprite; //小球 类 public class B...

25310
来自专栏张善友的专栏

Mix 10 上的asp.net mvc 2的相关Session

Beyond File | New Company: From Cheesy Sample to Social Platform Scott Hansel...

2577
来自专栏一个爱瞎折腾的程序猿

sqlserver使用存储过程跟踪SQL

USE [master] GO /****** Object: StoredProcedure [dbo].[sp_perfworkload_trace_s...

2070
来自专栏一个会写诗的程序员的博客

Spring Reactor 项目核心库Reactor Core

Non-Blocking Reactive Streams Foundation for the JVM both implementing a Reactiv...

2182
来自专栏魂祭心

原 canvas绘制clock

4094

扫码关注云+社区