[No000078]Python3 字符串操作
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
'''Python 字符串操作
string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等
@author: HK
'''
if __name__ == '__main__':
s = ' s dfg hjk,大 家好,。:?-_+0 '
#去两边空格及指定符号
print(s.strip())#两边都替换
# Return a copy of the string S with leading and trailing
# whitespace removed.
# If chars is given and not None, remove characters in chars instead.
print(s.lstrip('s'))#左替换
print(s.rstrip('_+0 '))#右替换
#复制字符串,类似C语言中的strcpy(sStr1,sStr2)
sStr1 = 'strcpy'
sStr2 = sStr1
sStr1 = 'strcpy2'
print(sStr2,sStr1,sStr2,sStr1)
#连接字符串,类似C语言中的strcat(sStr1,sStr2)
sStr1 = 'strcat'
sStr2 = 'append'
sStr1 += sStr2
print(sStr1)
#查找字符,类似C语言中的strchr(sStr1,sStr2)
sStr1 = 'strchr'
sStr2 = 'tr'#< 0 为未找到
nPos = sStr1.index(sStr2)
print(nPos)
#比较字符串,类似C语言中的strcmp(sStr1,sStr2),py3中取消了cmp函数cmp(sStr1,sStr2),对于int可以用表达式(a > b) - (a < b)代替cmp(a,b)
sStr1 = 'strchr'
sStr2 = 'strch'
print((sStr1 == sStr2))
#扫描字符串是否包含指定的字符,类似C语言中的strspn(sStr1,sStr2)
sStr1 = ''#sStr1 and chars both in sStr1 and sStr2
sStr2 = ''
print(sStr1.count(sStr2)>0)
print('abcde'.find('bcd') >= 0)
#字符串长度类似C语言中的strlen(sStr1)
sStr1 = 'strlen'
print(len(sStr1))
#将字符串中的大小写转换,类似C语言中的strlwr(sStr1)
sStr1 = 'JCstrlwr'
print(sStr1.upper())
sStr1 = sStr1.lower()
print(sStr1)
#追加指定长度的字符串,类似C语言中的strncat(sStr1,sStr2,n)
sStr1 = ''
sStr2 = 'abcdef'
n = 3
sStr1 += sStr2[0:n]
print(sStr1)
#字符串指定长度比较,类似C语言中的strncmp(sStr1,sStr2,n)
sStr1 = ''
sStr2 = '123bc'
n = 3
print((sStr1[0:n]==sStr2[0:n]))
#复制指定长度的字符,类似C语言中的strncpy(sStr1,sStr2,n)
sStr1 = ''
sStr2 = ''
n = 3
sStr1 = sStr2[0:n]
print(sStr1)
#将字符串前n个字符替换为指定的字符,类似C语言中的strnset(sStr1,ch,n)
sStr1 = ''
ch = 'r'
n = 3
sStr1 = n * ch + sStr1[n:]
print(sStr1)
#扫描字符串,类似C语言中的strpbrk(sStr1,sStr2)
sStr1 = 'cekjgdklab'
sStr2 = 'gka'
nPos = -1
for c in sStr1:
if c in sStr2:
nPos = sStr1.index(c)
break
print(nPos)#sStr1中第几个字符开始包含sStr2中的字符
#翻转字符串,类似C语言中的strrev(sStr1)
sStr1 = 'abcdefg'
sStr1 = sStr1[::-1]
print(sStr1)
#查找字符串,类似C语言中的strstr(sStr1,sStr2)
sStr1 = 'abcdefg'
sStr2 = 'cde'
print(sStr1.find(sStr2))#sStr1中从那个下标开始包含sStr2
#分割字符串,类似C语言中的strtok(sStr1,sStr2)
sStr1 = 'ab,cde,fgh,ijk'
sStr2 = ','
sStr1 = sStr1[sStr1.find(sStr2) + 1:]
print(sStr1)#分割一次!或者
s = 'ab,cde,fgh,ijk'
print(s.split(','))#全局分割
#连接字符串
delimiter = ','
mylist = ['Brazil', 'Russia', 'India', 'China']
print(delimiter.join(mylist))
#PHP 中 addslashes 的实现,防止SQL注入攻击
def addslashes(s):
d = {'"':'\\"', "'":"\\'", "\0":"\\\0", "\\":"\\\\"}
return ''.join(d.get(c, c) for c in s)#D.get(k[,d]) -> D[k] if k in D, else d. d defaults to None.
#可以用return '$'.join(d.get(c, c) for c in s)做测试
s = '''John 'Johny' Doe (a.k.a. "Super Joe")\ break'''+' and \0'+'\t end'
print(s)
print(addslashes(s))
#只显示字母与数字
def OnlyCharAndNum(s,oth=''):
s2 = s.lower();
fomart = 'abcdefghijklmnopqrstuvwxyz0123456789'
for c in s2:
if not c in fomart:
s = s.replace(c,'');
return s; print(OnlyCharAndNum("a000 aa-b"))
#截取字符串
sStr = ''
print(sStr[0:3])#截取第一位到第三位的字符
print(sStr[:])#截取字符串的全部字符
print(sStr[6:])#截取第七个字符到结尾
print(sStr[:-3])#截取从头开始到倒数第三个字符之前
print(sStr[2])#截取第三个字符
print(sStr[-1])#截取倒数第一个字符
print(sStr[::-1])#创造一个与原字符串顺序相反的字符串
print(sStr[-3:-1])#截取倒数第三位与倒数第一位之前的字符
print(sStr[-3:])#截取倒数第三位到结尾
print(sStr[:-8:-1])#逆序截取,从最后一个倒数截取至倒数第8个字符‘2’步长为1
print(sStr[:-8:-2])#逆序截取,从最后一个倒数截取至倒数第8个字符‘2’步长为2
print(sStr[:-8:-5])#逆序截取,从最后一个倒数截取至倒数第8个字符‘2’步长为2
#python 字符串替换2种方法:1用字符串本身的方法;2用正则来替换字符串
a = 'hello word'
#把a字符串里的word替换为python,1用字符串本身的replace方法
print(a.replace('word','python'))#输出的结果是hello python
#2用正则表达式来完成替换:
import re
reR = r'[wor]d' #perl写法
strinfo = re.compile(reR) #编译后运行速度更快
b = strinfo.sub('python',a)
print(b)#输出hello wopython
[No000078]Python3 字符串操作的更多相关文章
- python3字符串操作
python3字符串操作 x = 'abc' y = 'defgh' print(x + y) #x+y print(x * ) #x*n print(x[]) #x[i] print(y[:-]) ...
- python3 字符串操作相关函数
整理自python基础|菜鸟教程 感谢菜鸟教程提供的优质资源! 1.capitalize() 将字符串的第一个字符转换为大写 实例 以下实例展示了capitalize()方法的实例: #!/usr/b ...
- python3字符串操作总结
字符串截取 >>>s = 'hello' >>>s[0:3] 'he' >>>s[:] #截取全部字符 'hello' 消除空格及特殊符号 s. ...
- Python3 字符串操作
截掉指定字符串 # 截掉指定字符串 string.strip("what you want to delete") #截掉字符串左边的空格 string.lstrip() #截掉字 ...
- python3.4学习笔记(十五) 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
python3.4学习笔记(十五) 字符串操作(string替换.删除.截取.复制.连接.比较.查找.包含.大小写转换.分割等) python print 不换行(在后面加上,end=''),prin ...
- Python中的字符串操作总结(Python3.6.1版本)
Python中的字符串操作(Python3.6.1版本) (1)切片操作: str1="hello world!" str1[1:3] <=> 'el'(左闭右开:即是 ...
- Python3基础(2)模块、数据类型及运算、进制、列表、元组、字符串操作、字典
---------------个人学习笔记--------------- ----------------本文作者吴疆-------------- ------点击此处链接至博客园原文------ 1 ...
- Python3学习之路~2.3 字符串操作
字符串操作 特性:不可修改 name="my \tname is alex" print(name.capitalize()) #首字母变大写 print('Alex LI'.ca ...
- python3.0 day02 列表、元组 、字典、字符串操作
1.列表.元组操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作,类似于其他语言中的数组. 定义列表 names = ['Lioa',"Tenglan ...
随机推荐
- Hibernate插入数据后获得ID
很多表的主键都是自增型的,新增的记录使用save()方法保存以后,要获得ID,直接使用getId()就可以了,因为此时记录已经保存进数据库,已经有了ID. 另一种方法是使用MySQL的SELECT L ...
- python 替换 文件夹下的 文件名称 及 文件内容
示例效果: 1.替换某文件夹下的 文件夹及子文件夹 的名称 由OldStrDir 变为 NewStrDir: 2.替换某文件夹下的 文件夹及子文件夹 下 所有的文件的名称 由OldStrFile 变为 ...
- [javaSE] 注解-自定义注解
注解的分类: 源码注解 编译时注解 JDK的@Override 运行时注解 Spring的@Autowired 自定义注解的语法要求 ① 使用@interface关键字定义注解 ② 成员以无参无异常方 ...
- 从零开始学 Java - CentOS 下安装 Tomcat
生活以痛吻我,我仍报之以歌 昨天晚上看到那个冯大辉老师的微信公众号,「小道消息」上的一篇文章,<生活以痛吻我,我仍报之以歌>.知乎一篇匿名回答,主题为<冯大辉到底是不是技术大牛,一个 ...
- 【夯实PHP基础】PHP标准库 SPL
PHP SPL笔记 这几天,我在学习PHP语言中的SPL. 这个东西应该属于PHP中的高级内容,看上去很复杂,但是非常有用,所以我做了长篇笔记.不然记不住,以后要用的时候,还是要从头学起. 由于这是供 ...
- PHP 小数点保留两位
最近在做统计这一块内容,接触关于数字的数据比较多, 用到了三个函数来是 数字保留小数后 N 位: 接下来简单的介绍一下三个函数: 1.number_format echo number_format( ...
- java必备基础知识点
Java基础 1. 简述Java的基本历史 java起源于SUN公司的一个GREEN的项目,其原先目的是:为家用消费电子产品发送一个信息的分布式代码系统,通过发送信息控制电视机.冰箱等 2. 简单写出 ...
- 在sharepoint2013中如使用PowerView
在sharepoint2013中如使用PowerView 安装前提 Sql sqlserver 2012 sp1 Sharepoint2013 Sql server 2012 sp1 PowerPiv ...
- 交换机的交换原理、mac学习机制和老化机制
1.交换机的交换原理: 1.交换机在mac地址表中查找数据帧中的目标mac地址,如果找到就讲该数据帧发送到相应的端口,如果找不到就广播. 2.如果交换机收到的报文中的源mac地址和目标mac地址一致的 ...
- android studio 导入项目太慢(卡条)
原因: 下载的项目和你当前已经下载的grandle 不一致, 导致导入的时候到网上下载相应的版本. 最简单的办法,修改你这个需要导入的项目. 需要修改的文件: 1. xxx-project/.idea ...