python字符串删除操作-python字符串操作

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(" ")for i in range(len(lines)): lines[i] = "*"+ lines[i]text=" ".join(lines)

pyperclip.copy(text)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值