6.1 处理字符串

原始字符串:在字符串开始的引号之前加上r,使它成为原始字符串。“原始字符串”完全忽略所有的转义字符,打印出字符串中的所有倒斜杠。

用三重引号的多行字符串:多行字符串的起止是3个单引号或3个双引号。”三重引号“之间的所有引号、制表符或换行,都被认为是字符串的一部分。

多行字符串常常用作多行注释。

字符串下标和切片: 字符串像列表一样,使用下标和切片。

字符串in和not in 操作符:像列表一样,in和not in操作符也可以用于字符串。

6.2 字符串方法upper()、lower()、isupper()、和islower()

upper()和lower()字符串方法返回一个新的字符串,其中原字符串的所有字母都被相应地转换为大写或小写。字符串中的非字母字符保持不变。

>>> spam='hello world'>>> spam.upper()'HELLO WORLD'>>> spam'hello world'>>> spam =spam.upper()>>> spam'HELLO WORLD'#用islower(),isupper()来判断字符串中的字母是否都是小写和大写。>>> spam.islower()

False>>> spam.isupper()

True#这样调用也是可行的>>> 'hello'.upper()'HELLO'>>> 'HELLO'.lower()'hello'

这些方法没有改变字符串本身,而是返回一个新的字符串

6.2.1 isX字符串方法

isalpha() 返回True,如果字符串中值包含字母,并且非空

isalnum() 返回True,如果字符串中只包含字母和数字,并且非空

isdecimal() 返回True,如果字符串中只包含数字字符,并且非空

isspace() 返回True, 如果字符串中只包含空格,制表符和换行,并且非空

istitle() 返回True,如果字符串中只包含以大写字母开头,后面都是小写字母的单词。

该程序反复询问用户年龄和口令,知道他们输入一个有效的值:

while True: print('Enter your age:')

age =input()

if age.isdecimal(): break

print('please enter a number for you age')while True: print('select a new password (letters and numbers only):')

password = input()

if password.isalnum(): break

print('passwords can only have letters and numbers.')

6.2.2 字符串方法startswith()和endswith()

startswith()和endswith()方法,如果他们调用的字符串以该方法传入的字符串开始或结束,则返回True,反之则返回False。如果要检查字符串的开始或结束部分是否等于另一个字符串,而不是整个字符串,这些方法就可以替代等于操作符==,这很有用。

6.2.3 字符串方法join()和split()

join()方法在一个字符串上调用,参数是一个字符串列表,返回一个字符串。返回的字符串由传入的列表中每个字符串连接而成。

>>> ','.join(['cat','rat','bat'])'cat,rat,bat'>>> ''.join(['my','name','is','Simon'])'mynameisSimon'>>> ' '.join(['my','name','is','Simon'])'my name is Simon'>>> 'ABC'.join(['my','name','is','Simon'])'myABCnameABCisABCSimon'>>>

split()方法做的事情正好相反,它针对一个字符串调用,返回一个字符串列表。

>>> 'my name is Simon'.split()

['my', 'name', 'is', 'Simon']>>> 'myABCnameABCisABCSimon'.split("ABC")

['my', 'name', 'is', 'Simon']

默认情况下,字符串'my name is Simon'按照空白字符分割,诸如空格、制表符或换行符。

6.2.4 用rjust()、ljust()和center()方法对齐文本

rjust()和ljust()字符串方法返回调用他们的字符串的填充版本,通过插入空格来对齐文本。这两个方法的

第一个参数是一是整数长度,用于对齐字符串,

第二个可选参数是将指定一个填充字符,取代空格字符。

center()字符串方法与ljust()和rjust()类似,但他让文本居中。

>>> 'hello'.rjust(10)' hello'>>> 'hello'.ljust(20)'hello '>>> 'hello'.rjust(20,'*')'***************hello'>>> 'hello'.ljust(20,'*')'hello***************'>>> 'hello'.center(10,'=')'==hello==='

'hello'.rjust(10)是要右对齐,将'hello'放在一个长度为10的字符串中'hello'有5个字符他会在左边加5个空格,得到一个10个字符的字符串。

这个是一个打印表格式数据,流出空格的小代码:

def printPicnic(itemsDict, leftWidth, rightWidth):

print('PICNIC ITEMS'.center(leftWidth + rightWidth, '-')) for k, v in itemsDict.items():

print(k.ljust(leftWidth, '.') + str(v).rjust(rightWidth))

picnicItems = {'sandwiches': 4, 'apples': 12, 'cups': 4, 'cookies': 8000}

printPicnic(picnicItems, 12, 5)

printPicnic(picnicItems, 20, 6)

运行结果如下:

---PICNIC ITEMS--

sandwiches.. 4apples...... 12cups........ 4cookies..... 8000-------PICNIC ITEMS-------

sandwiches.......... 4apples.............. 12cups................ 4cookies............. 8000

6.2.5 用strip()、rstrip()和lstrip()删除空白字符

strip()字符串返回一个新的字符串,它的开头和末尾都没有空白字符。

lstrip()删除左边的空白字符

rstrip()删除右边的空白字符

有一个可选的字符串参数,指定两边的那些字符应该删除。

>>> spam = 'spamspamspambaconspameggsspamspam'>>> spam.strip('spam')'baconspamegg'

向strip()方法传入参数'spam',告诉它在变量中存储的字符串两端删除出现的s、p、a、m。传入strip()方法的字符串中的字符顺序不重要strip('spam')和strip('mpsa')做的事情一样

6.2.6 pyperclip()模块拷贝粘贴字符串

pyperclip模块有copy()和paste()函数,它可以像计算机的剪贴板发送文本,或从它接收文本。将程序的输出发送到剪贴板,使他很容易粘贴到邮件,文字处理程序或其他软件中。

实践项目

在wiki标记中添加无序列表

import pypercliptext = pyperclip.paste()lines = text.split('\n')for i in range(len(lines)): lines[i] = '*'+ lines[i]text='\n'.join(lines)

pyperclip.copy(text)

python字符串操作_python字符串操作相关推荐

  1. python输出举例_python字符串格式化输出及相关操作代码举例

    字符串的格式化 Python 支持格式化字符串的输出 .尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中.在   Python 中,字符串格式化使 ...

  2. python字符串的删除操作_Python字符串操作

    Python字符串操作 访问字符串的元素 str = 'Hello World' print(str[0]) print(str[-1]) print(str[0:5]) 输出: H d Hello ...

  3. python 字符串赋值操作_python字符串操作

    字符串 简介 字符串序列用于表示和存储文本,python中字符串是不可变的,一旦声明,不能改变 这里的的改变,指的是声明变量后的真实对象.但如果第二次用到变量,赋值,系统会默认为你新生成一个变量.比如 ...

  4. python设定字符串长度_python 修改字符串长度_Python 字符串操作

    字符串常用操作 判断 变量.endswith("结尾字符"):判断结尾字符串. 变量.isalnum():判断是否是字母或数字. 变量.isalpha():判断是否是存英文字符. ...

  5. python统计字符串个数_python字符串中字符出现次数(python获取字符串个数)

    原博文 2020-03-17 19:25 − 今天要说的是Python的字符串函数还是很方便的,只需要调用 count() 方法即可. 最近,我在一个网站上看到了一个自然语言处理课程.我详细解释了一些 ...

  6. python 定义字符串变量_python 字符串(1)

    字符串 操练一下字符串吧. >>> print "good good study, day day up" good good study, day day up ...

  7. python 文档操作_Python 文件操作

    一. Python 读写 创建文件 Python中对文件,文件夹(文件操作函数)的操作需要涉及到OS 模块和 shutil 模块 . 一) . OS模块 的基本操作 方法 功能 os.getcwd() ...

  8. python的数据库_python数据库操作-mysql数据库

    一:连接 1:本地连接 mysql -u用户名 -p密码 2:连接远程服务器 mysql -u用户名 -p密码 -hip地址 -P端口号 线下修改远程服务端上部署的mysql服务器 二:创建数据库 c ...

  9. python字符串描述_Python字符串

    字符串是Python中最受欢迎.最常使用的数据类型.可以通过用引号括起字符来创建它们. Python将单引号与双引号相同.创建字符串和向一个变量赋值一样简单. 例如 - var1 = 'Hello W ...

最新文章

  1. python绘制3d图-Python matplotlib绘图示例 - 绘制三维图形
  2. 数据结构之图的创建(邻接表)
  3. pain point
  4. WHEN OVERSEAS
  5. Intellij IDEA 那些隐藏好用的小技巧
  6. php接收文件,如何通过php 发送与接收流文件
  7. vba 修改文本文档 指定行_VBA程序报错,用调试三法宝,bug不存在的
  8. 数据结构之栈与递归的实现及应用(斐波拉契数列递归解法和strlen递归解法)
  9. 服务器虚拟化mv,MVMC简化虚拟机迁移过程
  10. equals方法 和 ==的区别
  11. 空间留言软件_锦州教育智慧云平台登录个人空间
  12. PCIe协议在具体实现时的大体框图
  13. iOS使用自定义字体,比如楷体
  14. NetBean快捷键
  15. 内置式永磁同步电机IPMSM,基于虚拟信号注入法最大转矩电流比MTPA控制仿真模型
  16. 挺进商用车自动驾驶,德赛西威与MAXIEYE联合发布“九逵计划”
  17. ecshop模板支持php,ecshop模板不支持引入PHP语句的解决方法
  18. 服务器 分辨率问题 显示器不显示不出来,显示器没有最佳分辨率及分辨率调不了的解决方法...
  19. G2、D3 绘制维恩图
  20. 【如何配置环境变量】

热门文章

  1. 学习笔记之sed用法
  2. java中怎样任意跳转到指定行而不受循环语句限制
  3. Spring RedisTemplate 批量获取值的2种方式
  4. Linux下NTP时间同步客户端配置
  5. python 安装pyautogui图形自动化
  6. 新建cordova应用,插件开发教程系列(总目录)
  7. Mybatis经验总结
  8. Java10的新特性
  9. idea生成类中序列化id
  10. 搭建空的maven多模块项目架构并且上传到远程git仓库(超详细 cmd命令版本)