本文目录一览:
- Python中字符串常用操作有哪些
- Python 正则表达式匹配两个字符之间的字符
- Python字符串是什么,如何使用?
- Python中中文字符串怎么处理?
- 请教,这个怎么用python找出2个字符串的不同,按差异顺序输出?
- python之字符串内置函数
Python中字符串常用操作有哪些
字符串是 Python 中常用的数据类型,我们可以使用引号('或")来创建字符串,对字符串进行使用和操作,需要用到特定的函数,以下是常用的Python字符串操作方法:
1. capitalize()
作用:capitalize()
主要是用来实现字符串首字母大写,其他字母小写的功能。
实例:
str1 = "oldboy"
print(str1.capitalize())
输出结果:Oldboy
2. swapcase()
作用:swapcase()
主要是用来实现字符串大小写反转。
实例:
str1 = " Oldboy"
print(str1.swapcase())
输出结果:oLDBOY
3. title()
作用:title()
主要是用来实现字符串非字母隔开的部分,首字母大写,其余字母小写。
实例:
str1 = "Old boy edu com"
print(str1.title())
输出结果:Old Boy Edu Com
4. upper()
作用:upper()
主要是用来实现字符串所有字母全部大写。
实例:
str1 = "Oldboyedu"
print(str1.upper())
输出结果:OLDBOYEDU
5. lower()
作用:lower()
主要是用来实现字符串所有字母全部小写。
实例:
str1 = "oLDBOYEDU"
print(str1.lower())
输出结果:oldboyedu
6. center()
作用:center()
主要是用来实现字符串内容居中,填充物默认为空。
实例:
str1 = "Oldboyedu"
print(str1.center(15))
print(str1.center(15,"*"))
输出结果:
Oldboyedu
***Oldboyedu***
7. find()
作用:find()
主要作用是通过元素找索引,可以整体找,可以切片,找不到则返回-1。
实例:
str1 = "Oldboyedu"
print(str1.find('b'))
print(str1.find('A'))
输出结果:3 -1
8. index()
作用:index()
主要作用是通过元素找索引,可以整体找,可以切片,找不到会报错。
实例:
str1 = " Oldboyedu "
print(str1.index("b"))
print(str1.index("A"))
输出结果:
Traceback (most recent call last):
File "", line 1, in
ValueError: substring not found
9. startswith(obj)
作用:startswith(obj)
主要作用是检查字符串是否是以 obj
开头,是则返回 True
,否则返回 False
。
实例:
str1 = "Oldboyedu"
print(str1.startswith("O"))
输出结果:True
10. endswith(obj)
作用:endswith(obj)
主要作用是检查字符串是否是以 obj
结尾,是则返回 True
,否则返回 False
。
实例:
str1 = " Oldboyedu "
print(str1.endswith("edu"))
输出结果:True
11. strip()
作用:strip()
主要作用是去除字符串前后两端的空格或其他字符、换行符、tab键等。
实例:
str1 = "***Oldboy***"
print(str1.strip("*")) # 去除两边的*
print(str1.lstrip("*")) # 去除左边的*
print(str1.rstrip("*")) # 去除右边的*
输出结果:
Oldboy
Oldboy***
***Oldboy
12. replace(oldstr, newstr)
作用:replace(oldstr, newstr)
主要作用是替换字符串。
实例:
str1 = "Oldboyedu"
print(str1.replace("boy","man"))
输出结果:Oldmanedu
13. isalpha()
作用:isalpha()
主要作用是要判断字符串是否只由字母组成,是返回True
,否返回False
。
实例:
str1 = "Oldboyedu"
str2 = "Old boy edu"
print(str1.isalpha())
print(str2.isalpha())
输出结果:True False
14. isdigit()
作用:isdigit()
主要作用是判断字符串是否只由数字组成,是返回True
,否返回False
。
实例:
str1 = "Oldboyedu"
str2 = "520"
print(str1.isdigit())
print(str2.isdigit())
输出结果:False True
15. format()
作用:format()
主要作用是格式化字符串。
方式一:按位置传参
str1 = '我叫{},今年{}岁'.format('oldboy',30)
print(str1)
输出结果:我叫oldboy,今年30岁
方式二:按索引传参
str1 = '我叫{0},今年{1}岁'.format('oldboy',30)
print(str1)
输出结果:我叫oldboy,今年30岁
方式三:按key传参
str1 = '我叫{name},今年{age}岁'.format(age=30,name='oldboy')
print(str1)
输出结果:我叫oldboy,今年30岁
16. count()
作用:count()
主要作用是统计元素在字符串出现的次数。
实例:
str1 = "oldboyedu"
print(str1.count('o')) # 统计字符o在字符串中出现的次数
数据结果:2
Python 正则表达式匹配两个字符之间的字符
- 打开JUPYTER NOTEBOOK,新建一个空白的PY文档。
import re
首先必须要做的是引入regular expression。a = re.compile(r' ')
a.sub(r' ', 'my name is Peter.')
可以定义两个空格的情况下变成一个空格。- 也可以定义多个重复单词的时候,变成一个。
- 用
+
就可以代替一个或者多个的意思。 \s
表示空格,可以定义两个或者两个以上就变成一个。c = re.compile(r'\s{2,}')
,c.sub(' ', 'My name is Peter.')
,后续只能直接输入改成的字符。
Python字符串是什么,如何使用?
字符串的表示
字符串可以被成对的单引号(single quote)或双引号(double quotes)包围起来,这两者的作用是一样的:
字符串中当然也可以包含中文:
一些情况下,选择其中一个会比另外一个更好,比如字符串本身就存在引号:
如果字符串中本身就包含单引号,我们再用单引号包围字符串会怎么样呢?做个实验:
Python解释器提示我们出错了。因为Python解释器会把挨着的单引号匹配起来,所以它会认为"'Hi, I'"是一个字符串,后面的"m Li Lei"Python解释器则无法解释。
除了混用单双引号,还可以使用用转义字符应对这种情况。反斜杠(back slash \
)用来对一些本来有特殊意义字符进行转义:
字符串还可以跨越多行,其中一个方式就是用三个连续的单引号(同样,三个连续的双引号也一样)。
在单(双)引号前加入一个反斜杠,Python解释器就不会把这个它认为是字符串结束的标志,而认为它就是普通的字符。在一个字符串中,如果同时存在单引号和双引号,那么使用反斜杠来转移单、双引号就是必须的了。
字符串的简单操作
我们也可以对字符串进行一些操作。比如使用加号把字符串拼接起来: 更多关于Python的基础性知识可以看下这个网页的视频教程,Python常见的数据类型及使用方法掌握,希望我的回答能帮到你。
Python中中文字符串怎么处理?
如果处理的字符串中出现中文表示的字符,要想不出错,就得转成unicode编码了。具体的方法有:
decode()
,将其他编码的字符串转换成unicode编码,如str1.decode('gb2312')
,表示将gb2312编码的字符串str1转换成unicode编码;encode()
,将unicode编码转换成其他编码的字符串,如str2.encode('gb2312')
,表示将unicode编码的字符串str2转换成gb2312编码;unicode()
,同decode()
,将其他编码的字符串转换成unicode编码,如unicode(str3, 'gb2312')
,表示将gb2312编码的字符串str3转换成unicode编码。 转码的时候一定要先搞明白字符串str是什么编码,然后decode
成unicode,最后再encode
成其他编码。 另外,对一个unicode编码的字符串在进行解码会出错,所以在编码未知的情况下要先判断其编码方式是否为unicode,可以用isinstance(str, unicode)
。 不仅是中文,以后处理含非ascii编码的字符串时,都可以遵循以下步骤:- 确定源字符的编码格式,假设是utf8;
- 使用
unicode()
或decode()
转换成unicode编码,如str1.decode('utf8')
,或者unicode(str1, 'utf8')
; - 把处理后字符串用
encode()
编码成指定格式。
请教,这个怎么用python找出2个字符串的不同,按差异顺序输出?
def find(a, b):
list1 = []
lena = len(a)
lenb = len(b)
n = 0
for i in range(lena):
for j in range(n, lenb):
if a[i] == b[j]:
n += 1
break
if a[i] != b[j]:
list1.append(b[j])
n = j + 1
continue
print(list1)
seq1 = 'ABCrist_H'
seq2 = 'ABC_arist_b_02_H'
# _ab_02_
find(seq1, seq2)
输出结果:
['_', 'a', 'b', '_', '0', '2', '_']
python之字符串内置函数
1. 字符串字母处理
2. 字符串填充
str.ljust(width, fillchar)
、str.center(width, fillchar)
、str.rjust(width, fillchar)
返回一个指定的宽度 width
「居左」/「居中」/「居右」的字符串,如果 width
小于字符串宽度直接返回字符串,否则使用 fillchar
去填充。
3. 字符串计数
str.count(sub, start, end)
统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置。
start, end
遵循**“左闭右开”**原则。
4. 字符串位置
str.endswith(suffix, start, end)
和str.startswith(substr, beg, end)
判断字符串是否以指定后缀结尾/开头,如果以指定后缀「结尾」/「开头」返回 True
,否则返回 False
。
5. 字符串查找
6. 字符串判断
7. 字符串拼接
str.join()
:将序列中的元素以指定的字符连接生成一个新的字符串。
实例:
s1 = "-"
s2 = ""
seq = ("r", "u", "n", "o", "o", "b")
print(s1.join(seq))
print(s2.join(seq))
输出结果:
r-u-n-o-o-b
runoob
8. 统计字符串长度
str.len()
:返回对象(字符、列表、元组等)长度或项目个数。
9. 去除字符两侧空格
str.lstrip()
、str.rstrip()
、str.strip()
:截掉字符串「左边」/「右边」/「左右」两侧的空格或指定字符。
实例:
str0 = ' Hello World!'
print(str0.lstrip()) # 输出 'Hello World!'
str1 = 'aaaa Hello World!'
print(str1.lstrip('a')) # 输出 ' Hello World!'
10. str.maketrans(intab, outtab)
和 str.translate(table)
str.maketrans()
创建字符映射的转换表。
str.translate(table)
根据参数table
给出的表转换字符串的字符。
str.maketrans()
传入的也可以是字典。
实例:
tab = {'e': '3', 'o': '4'}
trantab = str.maketrans(tab)
str0 = 'Hello World!'
print(str0.translate(trantab)) # 输出 'H3ll4 W4rld!'
11. 字符串替换
str.replace(old, new, max)
12. 字符分割
str.split(str, num)
13. 字符填充
str.zfill(width)
返回指定长度的字符串,原字符串右对齐,前面填充0。