python 中字符串(str)的操作(python中字符串split)
off999 2024-09-14 07:08 23 浏览 0 评论
本文介绍python中常见的字符串操作方法,并给出代码示例。是个人平时编码中的总结,希望能跟大家分享、交流。
Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
1.去空格及特殊符号
s.strip().lstrip().rstrip(',')
2.复制字符串
sStr= 'strcpy' sStr = sStr sStr= 'strcpy' print(sStr)
3.连接字符串
sStr= 'strcat' sStr = 'append' sStr+= sStr print(sStr)
4.查找字符
sStr= 'strchr' sStr = 's' nPos = sStr1.index(sStr) print(nPos)
5.比较字符串
sStr1= 'strchr' sStr2 = 'strch' print(sStr1 == sStr2)
6.扫描字符串是否包含指定的字符
sStr1 = '1345678' sStr2 ='456' print(sStr1.count(sStr2))
7.字符串长度
sStr= 'strlen' print len(sStr1)
8.将字符串中的大小写转换
sStr1 = 'JCstrlwr' sStr = sStr1.upper() sStr2 = sStr1.lower() print(sStr, sStr2)
9.追加指定长度的字符串
#strncat(sStr1,sStr,n) sStr= '1345' sStr = 'abcdef' n = 3 sStr+= sStr[0:n] print sStr
10.字符串指定长度比较
sStr1 = '1345' sStr2 = '13bc' n = 3 print(sStr1[0:n]==sStr2[0:n])
11.复制指定长度的字符
sStr = '1345' n = 3 str2 = sStr[0:n] print(str2)
12.将字符串前n个字符替换为指定的字符
sStr1= '1345' ch = 'r' n = 3 sStr= n * ch + sStr1[3:] print(sStr)
13.扫描字符串
sStr1 = 'cekjgdklab' sStr2 = 'gka' nPos = [] for c in sStr2: if c in sStr1: i = sStr1.index(c) nPos.append(i) print(nPos)
14.翻转字符串
sStr1 = 'abcdefg' sStr= sStr1[::-1] print(sStr)
15.查找字符串
sStr1 = 'abcdefg' sStr = 'cde' print(sStr1.find(sStr))
16.分割字符串
s = 'ab,cde,fgh,ijk' print(s.split(','))
17.连接字符串
delimiter = ',' mylist = ['Brazil', 'Russia', 'India', 'China'] print(delimiter.join(mylist)) # PHP中addslashes 方法的实现 def addslashes(s): d = {'"': '\\"', "'": "\\'", "\0": "\\\0", "\\": "\\\\"} return ''.join(d.get(c, c) for c in s) s = "John 'Johny' Doe (a.k.a. \"Super Joe\")\\\0tt" print(s) print(addslashes(s))
18.只显示字母与数字
def OnlyCharNum(s, oth=''): s = s.lower() fomart = 'abcdefghijklmnopqrstuvwxyz013456789' for c in s: if not c in fomart: s = s.replace(c, ''); return s; print(OnlyCharNum("a000 aa-b"))
19.字符串连接
方法1: 用字符串的join方法
a = ['a','b','c','d'] content = '' content = ''.join(a) print content
方法2: 用字符串的替换占位符替换
a = ['a','b','c','d'] content = '' content = '%s%s%s%s' % tuple(a) print content
20.字符串截取
我们可以通过索引来提取想要获取的字符,把python的字符串做为字符列表就更好理解
python的字串列表有2种取值顺序
一是从左到右索引默认0开始的,最大范围是字符串长度少1
s = 'ilovepython'
s[0]的结果是i
二是从右到左索引默认-1开始的,最大范围是字符串开头
s = 'ilovepython'
s[-1]的结果是n
上面这个是取得一个字符,如果你的实际要取得一段子串的话,可以用到变量[头下标:尾下标],就可以截取相应的字符串,其中下标是从0开始算起,可以是正数或负数,下标可以为空表示取到头或尾。
比如
s = 'ilovepython'
s[1:5]的结果是love
当使用以冒号分隔的字符串,python返回一个新的对象,结果包含了以这对偏移标识的连续的内容,左边的开始是包含了下边界,比如上面的结果包含了s[1]的值l,而取到的最大范围不包括上边界,就是s[5]的值p
21.字符串替换
字符串替换可以用内置的方法和正则表达式完成。
1用字符串本身的replace方法:
a = 'hello word' b = a.replace('word','python')
2用正则表达式来完成替换:
import re a = 'hello word' strinfo = re.compile('word') b = strinfo.sub('python',a)
22.字符串相加
我们通过操作符号+来进行字符串的相加,不过建议还是用其他的方式来进行字符串的拼接,这样效率高点。
原因:在循环连接字符串的时候,他每次连接一次,就要重新开辟空间,然后把字符串连接起来,再放入新的空间,再一次循环,又要开辟新的空间,把字符串连接起来放入新的空间,如此反复,内存操作比较频繁,每次都要计算内存空间,然后开辟内存空间,再释放内存空间,效率非常低。
sStr1 = 'strch' sStr2 = 'strchr' newstr = sStr1 + sStr2
23.字符串查找
python 字符串查找有4个方法,1 find,2 index方法,3 rfind方法,4 rindex方法。
1 find()方法:
info = 'abca' print(info.find('a'))##从下标0开始,查找在字符串里第一个出现的子串,返回结果:0 info = 'abca' print(info.find('a',1))##从下标1开始,查找在字符串里第一个出现的子串:返回结果3 info = 'abca' print(info.find('333'))##返回-1,查找不到返回-1
2 index()方法:
python 的index方法是在字符串里查找子串第一次出现的位置,类似字符串的find方法,不过比find方法更好的是,如果查找不到子串,会抛出异常,而不是返回-1
info = 'abca' print(info.index('a')) print(info.index('33'))
23.字符串分割
字符串分割,可以用split,rsplit方法,通过相应的规则来切割成生成列表对象
info = 'name:haha,age:20$name:python,age:30$name:fef,age:55' content = info.split('$') print(content)
24.字符串编码
通过字符串的decode和encode方法
1 encode([encoding,[errors]])
#其中encoding可以有多种值,比如gb2312 gbk gb18030 bz2 zlib big5 bzse64等都支持。errors默认值为"strict",意思是UnicodeError。可能的值还有'ignore', 'replace', 'xmlcharrefreplace', 'backslashreplace' 和所有的通过codecs.register_error注册的值。
S.decode([encoding,[errors]]) 下面是字符串编码应用:
a = '你好'
b = 'python'
print a.decode('utf-8').encode('gbk')##decode方法把字符串转换为unicode对象,然后通过encode方法转换为指定的编码字符串对象
print b.decode('utf-8')##decode方法把字符串转换为unicode对象
25.字符串追加和拼接
通过字符串的占位符来进行字符串的拼接
#1 元组拼接
m = 'python'
astr = 'i love %s' % m
print astr
#2 字符串的format方法
m = 'python'
astr = "i love {python}".format(python=m)
print astr
#3 字典格式化字符串
m = 'python'
astr = "i love %(python)s " % {'python':m}
print astr
26.字符串复制
通过变量来进行赋值
fstr = 'strcpy'
sstr = fstr
fstr = 'strcpy2'
print sstr
27.字符串长度
通过内置方法len()来计算字符串的长度,注意这个计算的是字符的长度。
aa = 'afebb'
bb = '你'
print len(aa)
print len(bb)
28.字符串大小写
通过下面的upper(),lower()等方法来转换大小写
S.upper()#S中的字母大写
S.lower() #S中的字母小写
S.capitalize() #首字母大写
S.istitle() #S是否是首字母大写的
S.isupper() #S中的字母是否便是大写
S.islower() #S中的字母是否全是小写
29.字符串去空格
通过strip(),lstrip(),rstrip()方法去除字符串的空格
S.strip()去掉字符串的左右空格
S.lstrip()去掉字符串的左边空格
S.rstrip()去掉字符串的右边空格
30.字符串其他方法
字符串相关的其他方法:count(),join()方法等。
S.center(width, [fillchar]) #中间对齐
S.count(substr, [start, [end]]) #计算substr在S中出现的次数
S.expandtabs([tabsize]) #把S中的tab字符替换没空格,每个tab替换为tabsize个空格,默认是8个
S.isalnum() #是否全是字母和数字,并至少有一个字符
S.isalpha() #是否全是字母,并至少有一个字符
S.isspace() #是否全是空白字符,并至少有一个字符
S.join()#S中的join,把列表生成一个字符串对象
S.ljust(width,[fillchar]) #输出width个字符,S左对齐,不足部分用fillchar填充,默认的为空格。
S.rjust(width,[fillchar]) #右对齐
S.splitlines([keepends]) #把S按照行分割符分为一个list,keepends是一个bool值,如果为真每行后而会保留行分割符。
S.swapcase() #大小写互换
相关推荐
- Python中的两个内置函数id()和type()
-
id()>>>id(3)2531362761072>>>id(3.222222)2531397393680>>>id(3.0)25313...
- python 函数中,如何将另一个函数作为参数传递
-
python函数中,如何将另一个函数作为参数传递,类似C#委托defadd(a,b):"""这是一个简单的加法函数,接受两个参数并返回它们的和。""...
- Python性能暴涨10倍的终极指南:7个核心技巧+代码压缩秘籍
-
提升Python程序运行性能,使代码运行更流畅更快,以及压缩代码,减小代码大小,下面的方法仅供大家参考,有什么更好的方法在评论区说说。1.使用NumPy/SciPy替代纯Python循环...
- Python 匿名函数(Lambda 函数)详解
-
匿名函数(AnonymousFunction),在Python中称为lambda函数,是一种不需要使用def关键字定义的小型函数。它主要用于简化代码,特别适合需要函数对象的地方。1.基...
- Python学习笔记 | 匿名函数lambda、映射函数map和过滤函数filter
-
什么是匿名函数?定义:没有函数名的自定义函数场景:函数体非常简单,使用次数很少,没有必要声明函数,通常搭配高阶函数使用。高阶函数是能够把函数当成参数进行传递的函数,如:映射函数map和过滤函数fil...
- python练习:自定义函数调用:商品购物实例
-
1、商品录入dict_myshanpin_iof={101:{"商品名称":"毛毛熊","单价":25},102:{"商品名称":...
- Python中如何使用Lambda函数(lambda在python中的用法)
-
Python和其他编程语言一样,都在其语法中添加了lambda函数,Pythonlambda是匿名函数,比常规Python自定义函数有更简洁的语法。虽然Lambda语法在开始时可能会觉得有点混乱,...
- 8-Python内置函数(python内置函数代码)
-
Python提供了丰富的内置函数,这些函数可以直接使用而无需导入任何模块。以下是一些常用的内置函数及其示例:1-print()1-1-说明输出指定的信息到控制台。1-2-例子2-len()2-1-说...
- 用Python进行函数式编程(python函数程序)
-
什么是函数式编程?函数式程序设计是一种编程范例,它把计算当作数学函数的评价,避免状态和可变数据。换句话说,函数编程(FunctionalProgramming,FP)促进没有副作用和不变变量的代码。它...
- python 函数进阶(python如何进阶)
-
1.有名函数和匿名函数#该函数有名称,名称是adddefadd(x,y):returnx+y#改函数没有名称属于匿名函数,也叫lambda表达式lambda_add...
- python自学者的分享:自定义函数、参数作用域、匿名函数、装饰器
-
#自定义新函数函数名newhsdefnewhs(a,b=1):#b的默认值为1,在没有传入b值时,采用默认值,,默认值参数不能放前边returna-bprint(newh...
- Python 函数式编程的 8 大核心技巧,不允许你还不会
-
函数式编程是一种强调使用纯函数、避免共享状态和可变数据的编程范式。Python虽然不是纯函数式语言,但提供了丰富的函数式编程特性。以下是Python函数式编程的8个核心技巧:1.纯函数(...
- 零基础到发布:手把手教你创建并分发 Python 自定义库
-
作为程序员,我们经常依赖各种外部库来解决不同的问题。这些库由技术娴熟的开发者创建,为我们提供了节省时间和精力的解决方案。但你是否曾想过:“我也能创建属于自己的自定义库吗?”答案是肯定的!本文将为你详细...
- 打工人学Python:(七)自定义函数,打造自己的武器库
-
从一个简单的函数开始#!/usr/bin/envpython#-*-encoding:utf-8-*-'''@Purpose:Wordcount@...
- 肖sir_python自定义函数format、zip函数
-
python自定义函数一、常见的自定义函数已经学过的函数:list、print、set、str、type、tuple、dict、range、input等今天学的函数:format二、实战讲解(一)f...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python自定义函数 (53)
- python进度条 (54)
- python的for循环 (56)
- python串口编程 (60)
- python写入txt (51)
- python读取文件夹下所有文件 (59)
- java调用python脚本 (56)
- python操作mysql数据库 (66)
- python字典增加键值对 (53)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python qt (52)
- python人脸识别 (54)
- python多态 (60)
- python命令行参数 (53)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- centos7安装python (53)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)